(* Content-type: application/mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Mathematica 6.0' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       145,          7]
NotebookDataLength[    178523,       3896]
NotebookOptionsPosition[    171034,       3656]
NotebookOutlinePosition[    171513,       3676]
CellTagsIndexPosition[    171470,       3673]
WindowFrame->Normal
ContainsDynamic->False*)

(* Beginning of Notebook Content *)
Notebook[{

Cell[CellGroupData[{
Cell["Introduction", "Subtitle",
 InitializationCell->True,
 CellChangeTimes->{{3.409504746608872*^9, 3.4095047490523853`*^9}, {
  3.4151260430023513`*^9, 3.4151260473886585`*^9}, {3.4151261308186245`*^9, 
  3.41512614416782*^9}, {3.422120356104384*^9, 3.422120372327712*^9}, {
  3.422120460955152*^9, 3.422120474825096*^9}, {3.4221205065106573`*^9, 
  3.422120523234706*^9}}],

Cell["\<\
Base directory is either notebook directory if front end enabled or directory \
where kernal was started using commnand:
math.exe [packageName]
 To run the same cells as will be run from the command line choose Evaluation \
=> Evaluate initialization cells.  Note: this will quit kernel when done.\
\>", "Text",
 InitializationCell->True,
 CellChangeTimes->{{3.409504746608872*^9, 3.4095047490523853`*^9}, {
   3.4151260430023513`*^9, 3.4151260473886585`*^9}, {3.4151261308186245`*^9, 
   3.41512614416782*^9}, {3.422120356104384*^9, 3.422120372327712*^9}, {
   3.422120460955152*^9, 3.422120474825096*^9}, {3.4221205065106573`*^9, 
   3.4221205326482415`*^9}, 3.4221205670877633`*^9, {3.4221228082804403`*^9, 
   3.422122883999318*^9}, {3.42212300991037*^9, 3.42212303085048*^9}}],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{"basedir", "=", " ", 
  RowBox[{"If", "[", 
   RowBox[{
    RowBox[{"$FrontEnd", "===", "Null"}], ",", 
    RowBox[{"Directory", "[", "]"}], ",", " ", 
    RowBox[{"NotebookDirectory", "[", "]"}]}], 
   "]"}]}], "\[IndentingNewLine]", 
 RowBox[{"scriptinfo", " ", "=", " ", 
  RowBox[{"If", "[", 
   RowBox[{
    RowBox[{"$FrontEnd", "===", "Null"}], ",", "\[IndentingNewLine]", 
    "\"\<Running package kernell only\>\"", ",", "\[IndentingNewLine]", " ", 
    RowBox[{"ToFileName", "[", 
     RowBox[{
      RowBox[{
       RowBox[{"(", 
        RowBox[{"\"\<FileName\>\"", " ", "/.", " ", 
         RowBox[{"NotebookInformation", "[", "]"}]}], ")"}], "[", 
       RowBox[{"[", "1", "]"}], "]"}], ",", 
      RowBox[{
       RowBox[{"(", 
        RowBox[{"\"\<FileName\>\"", " ", "/.", " ", 
         RowBox[{"NotebookInformation", "[", "]"}]}], ")"}], "[", 
       RowBox[{"[", "2", "]"}], "]"}]}], "]"}]}], "]"}]}]}], "Input",
 InitializationCell->True,
 CellChangeTimes->{{3.409504746608872*^9, 3.4095047490523853`*^9}, {
  3.4151260430023513`*^9, 3.4151260473886585`*^9}, {3.4151261308186245`*^9, 
  3.41512614416782*^9}, {3.422120356104384*^9, 3.422120372327712*^9}, {
  3.422120460955152*^9, 3.422120474825096*^9}, {3.4221205065106573`*^9, 
  3.4221205568830895`*^9}, {3.422121586974288*^9, 3.422121650065008*^9}, {
  3.4221220066377344`*^9, 3.422122055467949*^9}, {3.4221222873413663`*^9, 
  3.4221223826283827`*^9}}],

Cell[BoxData["\<\"C:\\\\wes_temp_docs\\\\mathDAQ_2009\\\\package\\\\tests\\\\\
\"\>"], "Output",
 CellChangeTimes->{3.44095254466796*^9, 3.44095296552312*^9}],

Cell[BoxData["\<\"C:\\\\wes_temp_docs\\\\mathDAQ_2009\\\\package\\\\tests\\\\\
TestThroughPackage.nb\"\>"], "Output",
 CellChangeTimes->{3.44095254466796*^9, 3.4409529656032352`*^9}]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Setup Logging", "Subtitle",
 InitializationCell->True,
 CellChangeTimes->{{3.409504746608872*^9, 3.4095047490523853`*^9}, {
  3.4151260430023513`*^9, 3.4151260473886585`*^9}, {3.4151261308186245`*^9, 
  3.41512614416782*^9}, {3.422120356104384*^9, 3.422120372327712*^9}, {
  3.422120460955152*^9, 3.422120474825096*^9}}],

Cell["\<\
The logging setup is only done so that the notebook may be run automatically \
and the results collected.  LogTest`testLoggingEnabled should be set to False \
unless the test are to be written to a file for tallying.\
\>", "Text",
 InitializationCell->True,
 CellChangeTimes->{
  3.4094964807831984`*^9, {3.40949662913652*^9, 3.409496650737581*^9}, {
   3.409496725254731*^9, 3.4094967789719725`*^9}, 3.409498835168638*^9, {
   3.40949888613192*^9, 3.4094989780641117`*^9}, {3.415126780152321*^9, 
   3.415126871643879*^9}, {3.422119086959443*^9, 3.4221192393085103`*^9}}],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{"LogTest`Setup", "[", "]"}], ":=", "\[IndentingNewLine]", 
   RowBox[{"If", "[", 
    RowBox[{"LogTest`testLoggingEnabled", ",", "\[IndentingNewLine]", 
     RowBox[{
      RowBox[{"Print", "[", "\"\<Logging Enabled\>\"", "]"}], ";", 
      "\[IndentingNewLine]", 
      RowBox[{"LogTest`testNumber", " ", "=", " ", "1"}], ";", 
      "\[IndentingNewLine]", 
      RowBox[{"LogTest`fn", " ", "=", 
       RowBox[{"ToFileName", "[", " ", 
        RowBox[{"basedir", ",", "\"\<logTest.txt\>\""}], "]"}]}], ";", 
      "\[IndentingNewLine]", 
      RowBox[{"LogTest`os", " ", "=", " ", 
       RowBox[{"OpenWrite", "[", "LogTest`fn", "]"}]}], ";", 
      "\[IndentingNewLine]", 
      RowBox[{"WriteString", "[", 
       RowBox[{
       "LogTest`os", ",", "\"\<Starting Test logging\>\"", ",", 
        "\"\<\\n\>\""}], "]"}], ";", "\[IndentingNewLine]", 
      RowBox[{"WriteString", "[", 
       RowBox[{"LogTest`os", ",", "scriptinfo", ",", "\"\<\\n\>\""}], "]"}], 
      ";", "\[IndentingNewLine]", 
      RowBox[{"WriteString", "[", 
       RowBox[{"LogTest`os", ",", 
        RowBox[{"DateString", "[", "]"}], ",", "\"\<\\n\\n\>\""}], "]"}], ";",
       "\[IndentingNewLine]", 
      RowBox[{"Close", "[", "LogTest`os", "]"}], ";"}]}], 
    "\[IndentingNewLine]", "]"}]}], 
  "\[IndentingNewLine]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"LogTest`Test", "[", 
   RowBox[{"LogTest`testName_String", ",", 
    RowBox[{"LogTest`test_", " ", "/;", " ", 
     RowBox[{"LogTest`test", " ", "\[Element]", " ", "Booleans"}]}]}], "]"}], 
  ":=", "\[IndentingNewLine]", " ", 
  RowBox[{"(", "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"LogTest`result", " ", "=", "\"\<did not run\>\""}], ";", 
    "\[IndentingNewLine]", 
    RowBox[{"If", "[", 
     RowBox[{"LogTest`test", ",", 
      RowBox[{
       RowBox[{"LogTest`result", " ", "=", " ", "\"\<pass\>\""}], ";"}], ",", 
      
      RowBox[{
       RowBox[{"LogTest`result", " ", "=", " ", "\"\<fail\>\""}], ";"}]}], 
     "]"}], ";", "\[IndentingNewLine]", 
    RowBox[{"LogTest`str", " ", "=", " ", 
     RowBox[{"StringForm", "[", 
      RowBox[{
      "\"\<`1`...`2`\>\"", ",", "LogTest`testName", ",", "LogTest`result"}], 
      "]"}]}], ";", "\[IndentingNewLine]", 
    RowBox[{"Print", "[", 
     RowBox[{"\"\<Running the test named: \>\"", ",", "LogTest`str"}], "]"}], 
    ";", "\[IndentingNewLine]", 
    RowBox[{"If", "[", 
     RowBox[{"LogTest`testLoggingEnabled", ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"LogTest`os", " ", "=", 
        RowBox[{"OpenAppend", "[", "LogTest`fn", "]"}]}], ";", 
       "\[IndentingNewLine]", 
       RowBox[{"WriteString", "[", 
        RowBox[{"LogTest`os", ",", "\"\<Test \>\"", ",", 
         RowBox[{"LogTest`testNumber", "++"}], ",", "\"\<) \>\"", ",", 
         "LogTest`str", ",", "\"\<\\n\>\""}], "]"}], ";", 
       "\[IndentingNewLine]", 
       RowBox[{"Close", "[", "LogTest`os", "]"}], ";"}], ",", 
      "\[IndentingNewLine]", "Null"}], "\[IndentingNewLine]", "]"}]}], 
   "\[IndentingNewLine]", ")"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"LogTest`TallyTests", "[", "]"}], ":=", "\[IndentingNewLine]", 
   RowBox[{"(", "\[IndentingNewLine]", 
    RowBox[{"If", "[", 
     RowBox[{"LogTest`testLoggingEnabled", ",", "\[IndentingNewLine]", 
      RowBox[{"(", "\[IndentingNewLine]", 
       RowBox[{
        RowBox[{"LogTest`ss", "=", 
         RowBox[{"StringJoin", "[", 
          RowBox[{"ReadList", "[", 
           RowBox[{"LogTest`fn", ",", "String"}], "]"}], "]"}]}], ";", 
        "\[IndentingNewLine]", 
        RowBox[{"LogTest`totals", " ", "=", " ", 
         RowBox[{"{", 
          RowBox[{
           RowBox[{"StringCount", "[", 
            RowBox[{"LogTest`ss", ",", "\"\<...\>\""}], "]"}], ",", 
           RowBox[{"StringCount", "[", 
            RowBox[{"LogTest`ss", ",", "\"\<...pass\>\""}], "]"}], ",", 
           RowBox[{"StringCount", "[", 
            RowBox[{"LogTest`ss", ",", "\"\<...fail\>\""}], "]"}]}], "}"}]}], 
        ";", "\[IndentingNewLine]", 
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{
           RowBox[{"LogTest`totals", "[", 
            RowBox[{"[", "3", "]"}], "]"}], " ", "==", "0"}], ",", " ", 
          RowBox[{"LogTest`str", "=", "\"\<Success!\\n\>\""}], ",", " ", 
          RowBox[{"LogTest`str", " ", "=", " ", "\"\<Failure!!\\n\>\""}]}], 
         "]"}], ";", "\[IndentingNewLine]", 
        RowBox[{"LogTest`str", " ", "=", " ", 
         RowBox[{"LogTest`str", " ", "<>", " ", 
          RowBox[{"ToString", "[", 
           RowBox[{
            RowBox[{
             RowBox[{"StringForm", "[", 
              RowBox[{
              "\"\<`1` total tests `2` tests passed `3` tests failed\>\"", 
               ",", "#1", " ", ",", "#2", ",", "#3"}], "]"}], "&"}], " ", "@@",
             "LogTest`totals"}], "]"}]}]}]}], "\[IndentingNewLine]", ")"}], 
      ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"Print", "[", "\"\<Test Logging not enabled\>\"", "]"}], 
       ";"}]}], "\[IndentingNewLine]", "]"}], "\[IndentingNewLine]", ")"}]}], 
  "\[IndentingNewLine]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"LogTest`testLoggingEnabled", " ", "=", "True"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{"LogTest`Setup", "[", "]"}], "\[IndentingNewLine]", 
 RowBox[{"Names", "[", "\"\<Global`*\>\"", "]"}], "\[IndentingNewLine]", 
 RowBox[{"Names", "[", "\"\<LogTest`*\>\"", "]"}]}], "Input",
 InitializationCell->True,
 CellChangeTimes->{{3.409499477211851*^9, 3.409499477452197*^9}, {
   3.409499539441333*^9, 3.4094995410336227`*^9}, 3.4095003533516784`*^9, {
   3.4095003934593506`*^9, 3.409500438884669*^9}, {3.4151261806903367`*^9, 
   3.4151261881210213`*^9}, {3.4151262296707673`*^9, 3.415126271751276*^9}, {
   3.4221192427434497`*^9, 3.422119261250061*^9}, 3.4221198029790287`*^9, 
   3.4221223978001986`*^9}],

Cell[BoxData["\<\"Logging Enabled\"\>"], "Print",
 CellChangeTimes->{3.4409525450284786`*^9, 3.4409529658335667`*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"\<\"basedir\"\>", ",", "\<\"scriptinfo\"\>"}], "}"}]], "Output",
 CellChangeTimes->{3.440952545148651*^9, 3.4409529659136815`*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"\<\"LogTest`fn\"\>", ",", "\<\"LogTest`os\"\>", 
   ",", "\<\"LogTest`result\"\>", ",", "\<\"LogTest`Setup\"\>", 
   ",", "\<\"LogTest`ss\"\>", ",", "\<\"LogTest`str\"\>", 
   ",", "\<\"LogTest`TallyTests\"\>", ",", "\<\"LogTest`test\"\>", 
   ",", "\<\"LogTest`Test\"\>", ",", "\<\"LogTest`testLoggingEnabled\"\>", 
   ",", "\<\"LogTest`testName\"\>", ",", "\<\"LogTest`testNumber\"\>", 
   ",", "\<\"LogTest`totals\"\>"}], "}"}]], "Output",
 CellChangeTimes->{3.440952545148651*^9, 3.44095296593371*^9}]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell["Loading from AddOns directory", "Subtitle",
 CellChangeTimes->{{3.409504746608872*^9, 3.4095047490523853`*^9}, {
  3.4151260430023513`*^9, 3.4151260473886585`*^9}}],

Cell["\<\
This use of needs calls the package in the AddOns\\ExtraPackages directory.  \
If DAQTesting is defined the executable should be with the package in the DAQ \
directory.  If DAQTesting is not defined set directory to desired location \
before calling Needs.  The directory returned is the directory of the \
executable that is being linked.
Note: not test from command line\
\>", "Text",
 CellChangeTimes->{
  3.4094964807831984`*^9, {3.40949662913652*^9, 3.409496650737581*^9}, {
   3.409496725254731*^9, 3.4094967789719725`*^9}, 3.409498835168638*^9, {
   3.40949888613192*^9, 3.4094989780641117`*^9}, {3.4151263101565*^9, 
   3.41512633444142*^9}, {3.422119010639701*^9, 3.4221190596802177`*^9}}],

Cell[BoxData[
 RowBox[{"(*", "\[IndentingNewLine]", 
  RowBox[{
   RowBox[{"Needs", "[", "\"\<DAQ`DataAcquisition`\>\"", "]"}], "\n", 
   RowBox[{"Needs", "[", "\"\<ErrorBarPlots`\>\"", "]"}]}], 
  "\[IndentingNewLine]", "*)"}]], "Input",
 CellChangeTimes->{{3.4094962499312496`*^9, 3.4094962866139965`*^9}, {
  3.409496388620675*^9, 3.4094963949497757`*^9}, {3.409496658048093*^9, 
  3.4094966648979425`*^9}, {3.4094967855314045`*^9, 3.4094967945343504`*^9}, {
  3.409497706836176*^9, 3.4094977177618866`*^9}, {3.4094993279071617`*^9, 
  3.409499335247717*^9}, {3.4151263375058265`*^9, 3.4151263648251095`*^9}}],

Cell[BoxData[
 RowBox[{"(*", "\[IndentingNewLine]", 
  RowBox[{"ListPlot", "[", 
   RowBox[{
    RowBox[{"{", 
     RowBox[{"GetVoltages", "[", 
      RowBox[{
       RowBox[{"{", "0", "}"}], ",", "10000.`", ",", "500"}], "]"}], "}"}], 
    ",", 
    RowBox[{"Joined", "\[Rule]", "True"}]}], "]"}], "\[IndentingNewLine]", 
  "*)"}]], "Input",
 CellChangeTimes->{{3.409499477211851*^9, 3.409499477452197*^9}, {
   3.409499539441333*^9, 3.4094995410336227`*^9}, 3.4095003533516784`*^9, {
   3.4095003934593506`*^9, 3.409500438884669*^9}, {3.415126211985337*^9, 
   3.4151262249239416`*^9}, {3.4151263172867527`*^9, 3.415126323746041*^9}, {
   3.4151263678094006`*^9, 3.4151263849840965`*^9}}]
}, Closed]],

Cell[CellGroupData[{

Cell["Loading from parent notebook directory", "Subtitle",
 InitializationCell->True,
 CellChangeTimes->{3.4119215337837777`*^9, 3.411921586870112*^9}],

Cell["\<\
The following loads the package file from the directory where the parent \
notebook creates the package.  Should probably be what is used while \
debugging or changing package code.  The set directory commadns selects which \
exectuable is linked.
Need to fix package to allow closing link and reopening easily.\
\>", "Text",
 InitializationCell->True,
 CellChangeTimes->{{3.4082088547428784`*^9, 3.4082088680620303`*^9}, {
   3.4082091082373857`*^9, 3.4082091276352787`*^9}, {3.4082094768674498`*^9, 
   3.4082095033955956`*^9}, {3.409500485882248*^9, 3.4095005120398607`*^9}, 
   3.4119215337837777`*^9}],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{"DAQTesting", " ", "=", " ", "True"}], ";"}], "  ", 
  RowBox[{"(*", " ", 
   RowBox[{"set", " ", "to", " ", "anyvalue", " ", "for", " ", "now"}], " ", 
   "*)"}]}], "\[IndentingNewLine]", 
 RowBox[{"SetDirectory", "[", 
  RowBox[{"ToFileName", "[", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"ParentDirectory", "[", 
      RowBox[{"ParentDirectory", "[", "basedir", "]"}], "]"}], ",", 
     "\"\<build_VC8\>\"", ",", "\"\<debug\>\""}], "}"}], "]"}], 
  "]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Needs", "[", 
   RowBox[{"\"\<DAQ`DataAcquisition`\>\"", ",", 
    RowBox[{"ToFileName", "[", 
     RowBox[{
      RowBox[{"ParentDirectory", "[", "basedir", "]"}], ",", 
      "\"\<DataAcquisition.m\>\""}], "]"}]}], "]"}], "\n", 
  RowBox[{"(*", " ", 
   RowBox[{"or", "  ", 
    RowBox[{
    "<<", "\"\<C:\\\\math\\\\mathDAQ\\\\Package\\\\DataAcquisition.m\>\""}]}],
    " ", "*)"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ResetDirectory", "[", "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Needs", "[", "\"\<ErrorBarPlots`\>\"", "]"}], 
  "\[IndentingNewLine]", 
  RowBox[{"(*", " ", 
   RowBox[{"Links", "[", "\"\<getvolt*\>\"", "]"}], " ", "*)"}]}], "\n", 
 RowBox[{
  RowBox[{"Clear", "[", "DAQTesting", "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{"theLink", "=", 
  RowBox[{"Links", "[", "\"\<mathDAQ*\>\"", "]"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"LogTest`Test", "[", 
   RowBox[{"\"\<Checking that the link is established\>\"", ",", 
    RowBox[{
     RowBox[{"Length", "[", "theLink", "]"}], " ", "\[Equal]", "1"}]}], "]"}],
   ";"}]}], "Input",
 InitializationCell->True,
 CellChangeTimes->{{3.4041520955675983`*^9, 3.4041520993930993`*^9}, 
   3.404152169513928*^9, {3.404153255825968*^9, 3.4041532594411664`*^9}, {
   3.4081987063101487`*^9, 3.4081987183975296`*^9}, {3.4082084802543907`*^9, 
   3.4082085485826416`*^9}, {3.408208715102085*^9, 3.408208716954749*^9}, {
   3.408209149636915*^9, 3.408209155014648*^9}, {3.4082093337316303`*^9, 
   3.408209342033568*^9}, {3.409270541517*^9, 3.4092705418374605`*^9}, {
   3.4094980201266656`*^9, 3.40949809173964*^9}, {3.4094990095193424`*^9, 
   3.4094990169099693`*^9}, {3.409499220002002*^9, 3.4094992534000254`*^9}, 
   3.4104629898076367`*^9, {3.4104630754908433`*^9, 3.4104630760416355`*^9}, {
   3.411658488679208*^9, 3.411658491403125*^9}, {3.411659494155011*^9, 
   3.411659580659398*^9}, 3.4116599878949747`*^9, {3.4119214957691154`*^9, 
   3.4119215337837777`*^9}, {3.4151264210759945`*^9, 
   3.4151265336178217`*^9}, {3.415126581015977*^9, 3.41512664989502*^9}, {
   3.422107604338245*^9, 3.4221076119491887`*^9}, {3.4221198055827727`*^9, 
   3.422119806514112*^9}}],

Cell[BoxData["\<\"C:\\\\wes_temp_docs\\\\mathDAQ_2009\\\\build_VC8\\\\debug\"\
\>"], "Output",
 CellChangeTimes->{3.4409525453289104`*^9, 3.44095296602384*^9}],

Cell[BoxData["\<\"Testing...using current directory\"\>"], "Print",
 CellChangeTimes->{3.4409525454290543`*^9, 3.4409529660538836`*^9}],

Cell[BoxData["\<\"C:\\\\wes_temp_docs\\\\mathDAQ_2009\\\\build_VC8\\\\debug\"\
\>"], "Print",
 CellChangeTimes->{3.4409525454290543`*^9, 3.4409529661239843`*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"LinkObject", "[", 
   RowBox[{"\<\"mathDAQ\"\>", ",", "5", ",", "5"}], "]"}], "}"}]], "Output",
 CellChangeTimes->{3.4409525453289104`*^9, 3.4409529680367346`*^9}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Running the test named: \"\>", "\[InvisibleSpace]", 
   InterpretationBox["\<\"Checking that the link is established...pass\"\>",
    StringForm["`1`...`2`", "Checking that the link is established", "pass"],
    Editable->False]}],
  SequenceForm["Running the test named: ", 
   StringForm["`1`...`2`", "Checking that the link is established", "pass"]],
  Editable->False]], "Print",
 CellChangeTimes->{3.4409525454290543`*^9, 3.440952968096821*^9}]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell["Information on available functions", "Subtitle",
 CellChangeTimes->{
  3.4092706984526625`*^9, {3.4119222398991213`*^9, 3.4119222490522833`*^9}, {
   3.412443017093197*^9, 3.4124430212491727`*^9}}],

Cell["Note all the symbols in the global namespace", "Text",
 CellChangeTimes->{
  3.4092706984526625`*^9, {3.4119222398991213`*^9, 3.4119222490522833`*^9}, {
   3.412443017093197*^9, 3.4124430464954753`*^9}}],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{"?", "DAQ`DataAcquisition`*"}], "\n", 
 RowBox[{"?", "RunTask"}], "\n", 
 RowBox[{"?", "GetVoltages"}], "\n", 
 RowBox[{"?", "GetVoltagesTrig"}], "\n", 
 RowBox[{"?", "GetVoltagesDigTrig"}], "\n", 
 RowBox[{"?", "OutputVoltage"}], "\n", 
 RowBox[{"?", "OutputWaveform"}], "\n", 
 RowBox[{"?", "ClearTask"}], "\n", 
 RowBox[{"?", "ReDoLink"}], "\[IndentingNewLine]", 
 RowBox[{"?", "SerialPortCommunicateCpp"}], "\n", 
 RowBox[{"?", "SerialPortCommunicateCpp"}]}], "Input",
 CellChangeTimes->{{3.4095031931851587`*^9, 3.4095032043712435`*^9}, {
   3.4095032507980013`*^9, 3.4095032755035267`*^9}, {3.4095033704400387`*^9, 
   3.409503436755395*^9}, {3.409504177480506*^9, 3.4095041794333134`*^9}, 
   3.4095042173077745`*^9, {3.409504502347642*^9, 3.4095045156467648`*^9}, {
   3.409504550006171*^9, 3.409504562844632*^9}, {3.412437882810461*^9, 
   3.4124378841323614`*^9}, {3.4124421765745907`*^9, 
   3.4124422437011137`*^9}, {3.412442430459659*^9, 3.4124424413152685`*^9}, {
   3.4124425109053345`*^9, 3.4124425207595043`*^9}, {3.4124425533864193`*^9, 
   3.4124426179993277`*^9}, 3.412442681610797*^9, {3.4124427847991743`*^9, 
   3.4124428025346766`*^9}, {3.41244289019072*^9, 3.4124429515890064`*^9}}],

Cell[BoxData[
 RowBox[{"?", "Global`*"}]], "Input",
 CellChangeTimes->{{3.4095031931851587`*^9, 3.4095032043712435`*^9}, {
   3.4095032507980013`*^9, 3.4095032755035267`*^9}, {3.4095033704400387`*^9, 
   3.409503436755395*^9}, {3.409504177480506*^9, 3.4095041794333134`*^9}, 
   3.4095042173077745`*^9, {3.409504502347642*^9, 3.4095045156467648`*^9}, {
   3.409504550006171*^9, 3.409504562844632*^9}, {3.412437882810461*^9, 
   3.4124378841323614`*^9}, {3.4124421765745907`*^9, 
   3.4124422437011137`*^9}, {3.412442430459659*^9, 3.4124424413152685`*^9}, {
   3.4124425109053345`*^9, 3.4124425207595043`*^9}, {3.4124425533864193`*^9, 
   3.4124426179993277`*^9}, 3.412442681610797*^9, {3.4124427847991743`*^9, 
   3.4124428025346766`*^9}, {3.41244289019072*^9, 3.412442954102621*^9}}]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell["Quick test of GetVoltage", "Subtitle",
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.411922350337925*^9, 3.411922354974592*^9}, {
   3.4119223922582035`*^9, 3.4119224156618557`*^9}}],

Cell[BoxData[
 RowBox[{"ListPlot", "[", 
  RowBox[{
   RowBox[{"GetVoltages", "[", 
    RowBox[{
     RowBox[{"{", "0", "}"}], ",", "10000.0", ",", "600", ",", 
     RowBox[{"MessageLevel", "\[Rule]", "0"}]}], "]"}], ",", 
   RowBox[{"Joined", "\[Rule]", "True"}], ",", 
   RowBox[{"Mesh", "\[Rule]", "All"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.411922350337925*^9, 3.411922354974592*^9}, {
   3.4128032576598177`*^9, 3.4128032592120495`*^9}}]
}, Closed]],

Cell[CellGroupData[{

Cell["Outputing Single Samples", "Subtitle",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 
   3.4119226353978205`*^9}, {3.411922776110155*^9, 3.411922776510731*^9}, {
   3.415132683641121*^9, 3.4151326891189976`*^9}}],

Cell["\<\
Outputting simple sample in either immediate or setup only mode.\
\>", "Text",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 
   3.4119226353978205`*^9}, {3.411922776110155*^9, 3.411922776510731*^9}, {
   3.415132683641121*^9, 3.415132746992215*^9}}],

Cell[CellGroupData[{

Cell["Outputing on one channel Immediate", "Subsubtitle",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, {
   3.411922787596672*^9, 3.4119228245898657`*^9}, {3.4124284081265345`*^9, 
   3.412428416899149*^9}, {3.4124290757965965`*^9, 3.4124290823159714`*^9}}],

Cell["\<\
Remember to test the combinations of transfer mechanisms
Should tests be in their own namespace?
First output on channel 0 and then on channel 1.\
\>", "Text",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, {
   3.411922787596672*^9, 3.4119228245898657`*^9}, {3.4124284081265345`*^9, 
   3.4124284814319425`*^9}, {3.4124289443976545`*^9, 
   3.4124289746711855`*^9}, {3.412429190671779*^9, 3.4124292170897665`*^9}}],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"volt", " ", "=", "1.0"}], ";", 
  RowBox[{"answer", " ", "=", "0"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"OutputWaveform", "[", 
   RowBox[{
    RowBox[{"{", "0", "}"}], ",", 
    RowBox[{"{", "volt", "}"}], ",", "1", ",", "1"}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"answer", " ", "=", 
   RowBox[{"Mean", "[", 
    RowBox[{"GetVoltages", "[", 
     RowBox[{
      RowBox[{"{", "0", "}"}], ",", "60", ",", "60", ",", 
      RowBox[{"IncludeTime", "->", "Omit"}]}], "]"}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"OutputWaveform", "[", 
   RowBox[{
    RowBox[{"{", "0", "}"}], ",", 
    RowBox[{"{", "0", "}"}], ",", "1", ",", "1"}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Print", "[", " ", 
   RowBox[{"\"\<Output channel 0 error in volt is: \>\"", ",", 
    RowBox[{"volt", "-", "answer"}], ",", " ", "\"\< Volts\>\""}], "]"}], 
  ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{"LogTest`Test", "[", 
    RowBox[{"\"\<Outputting a single voltage on channel 0\>\"", ",", 
     RowBox[{
      RowBox[{"Abs", "[", 
       RowBox[{"volt", "-", "answer"}], "]"}], " ", "\[LessEqual]", ".02"}]}],
     "]"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"volt", " ", "=", "2.0"}], ";", 
  RowBox[{"answer", " ", "=", "0"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"OutputWaveform", "[", 
   RowBox[{
    RowBox[{"{", "1", "}"}], ",", 
    RowBox[{"{", "volt", "}"}], ",", "1", ",", "1"}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"answer", " ", "=", 
   RowBox[{"Mean", "[", 
    RowBox[{"GetVoltages", "[", 
     RowBox[{
      RowBox[{"{", "3", "}"}], ",", "60", ",", "60", ",", 
      RowBox[{"IncludeTime", "->", "Omit"}]}], "]"}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"OutputWaveform", "[", 
   RowBox[{
    RowBox[{"{", "1", "}"}], ",", 
    RowBox[{"{", "0", "}"}], ",", "1", ",", "1", ",", " ", 
    RowBox[{"MessageLevel", " ", "\[Rule]", " ", "0"}]}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Print", "[", " ", 
   RowBox[{"\"\<Output channel 1 error in volt is: \>\"", ",", 
    RowBox[{"volt", "-", "answer"}], ",", " ", "\"\< Volts\>\""}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"LogTest`Test", "[", 
   RowBox[{"\"\<Outputting a single voltage on channel 1\>\"", ",", 
    RowBox[{
     RowBox[{"Abs", "[", 
      RowBox[{"volt", "-", "answer"}], "]"}], " ", "\[LessEqual]", " ", 
     ".02"}]}], "]"}], ";"}]}], "Input",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.4119228355756626`*^9}, {
   3.411923100476571*^9, 3.411923256070304*^9}, {3.4119238454077296`*^9, 
   3.41192385107588*^9}, 3.4124283925641565`*^9, {3.4124288320060434`*^9, 
   3.412428847358118*^9}, {3.415126767944767*^9, 3.4151267700578055`*^9}, {
   3.415126991776622*^9, 3.4151270065478616`*^9}, {3.4151274524390216`*^9, 
   3.4151276570332136`*^9}, {3.4161504558668957`*^9, 
   3.4161504592818065`*^9}, {3.4161505778022304`*^9, 3.416150580606262*^9}, {
   3.4161506249500256`*^9, 3.4161506278241587`*^9}}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Output channel 0 error in volt is: \"\>", "\[InvisibleSpace]", 
   "0.0011745219927680184`", "\[InvisibleSpace]", "\<\" Volts\"\>"}],
  SequenceForm[
  "Output channel 0 error in volt is: ", 0.0011745219927680184`, " Volts"],
  Editable->False]], "Print",
 CellChangeTimes->{3.440952556915571*^9, 3.440952973434496*^9}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Running the test named: \"\>", "\[InvisibleSpace]", 
   InterpretationBox["\<\"Outputting a single voltage on channel \
0...pass\"\>",
    StringForm[
    "`1`...`2`", "Outputting a single voltage on channel 0", "pass"],
    Editable->False]}],
  SequenceForm["Running the test named: ", 
   StringForm[
   "`1`...`2`", "Outputting a single voltage on channel 0", "pass"]],
  Editable->False]], "Print",
 CellChangeTimes->{3.440952556915571*^9, 3.4409529734445105`*^9}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Output channel 1 error in volt is: \"\>", "\[InvisibleSpace]", 
   "0.00022104376466325348`", "\[InvisibleSpace]", "\<\" Volts\"\>"}],
  SequenceForm[
  "Output channel 1 error in volt is: ", 0.00022104376466325348`, " Volts"],
  Editable->False]], "Print",
 CellChangeTimes->{3.440952556915571*^9, 3.4409529745761375`*^9}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Running the test named: \"\>", "\[InvisibleSpace]", 
   InterpretationBox["\<\"Outputting a single voltage on channel \
1...pass\"\>",
    StringForm[
    "`1`...`2`", "Outputting a single voltage on channel 1", "pass"],
    Editable->False]}],
  SequenceForm["Running the test named: ", 
   StringForm[
   "`1`...`2`", "Outputting a single voltage on channel 1", "pass"]],
  Editable->False]], "Print",
 CellChangeTimes->{3.440952556915571*^9, 3.4409529746462383`*^9}]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Outputting on two channels Immeditate", "Subsubtitle",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.411922883865099*^9}, {
   3.4124286256893744`*^9, 3.412428631968403*^9}, {3.4124286897314625`*^9, 
   3.4124286977429824`*^9}, {3.4124287361482067`*^9, 
   3.4124287428578544`*^9}, {3.4124290873532143`*^9, 3.4124290905077505`*^9}}],

Cell["\<\
Output a single sample to two channel at the same time.  Note the data is a \
list of lists\
\>", "Text",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.411922883865099*^9}, {
   3.4124286256893744`*^9, 3.412428631968403*^9}, {3.4124286897314625`*^9, 
   3.4124286977429824`*^9}, {3.4124287361482067`*^9, 
   3.4124288041059246`*^9}, {3.412428858934765*^9, 3.4124288769306417`*^9}}],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"volt0", " ", "=", "2.4"}], ";", 
  RowBox[{"volt1", "=", 
   RowBox[{"-", "1.78"}]}], ";", 
  RowBox[{"Clear", "[", "answer", "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{"OutputWaveform", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"0", ",", " ", "1"}], "}"}], ",", " ", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", "volt0", "}"}], ",", 
     RowBox[{"{", "volt1", "}"}]}], "}"}], ",", " ", "1", ",", " ", "1", ",", 
   " ", 
   RowBox[{"MessageLevel", " ", "\[Rule]", " ", "0"}]}], 
  "]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"answer", "=", 
   RowBox[{"Mean", "[", 
    RowBox[{"Transpose", "[", 
     RowBox[{"GetVoltages", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "3"}], "}"}], ",", "60", ",", "10", ",", 
       RowBox[{"IncludeTime", "->", "Omit"}]}], "]"}], "]"}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Print", "[", " ", 
   RowBox[{"\"\<Output errors:\\nChannel 0 = \>\"", ",", 
    RowBox[{"volt0", "-", 
     RowBox[{"answer", "[", 
      RowBox[{"[", 
       RowBox[{"0", "+", "1"}], "]"}], "]"}]}], ",", " ", "\"\< Volts\\n\>\"",
     ",", "\"\<Channel 1 = \>\"", ",", 
    RowBox[{"volt1", " ", "-", 
     RowBox[{"answer", "[", 
      RowBox[{"[", 
       RowBox[{"1", "+", "1"}], "]"}], "]"}]}], ",", " ", "\"\< Volts\>\""}], 
   "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{"LogTest`Test", "[", 
  RowBox[{"\"\<Outputting a voltages on channels 0 and 1\>\"", ",", 
   RowBox[{
    RowBox[{
     RowBox[{"(", 
      RowBox[{"Abs", "[", 
       RowBox[{"volt0", "-", 
        RowBox[{"answer", "[", 
         RowBox[{"[", 
          RowBox[{"0", "+", "1"}], "]"}], "]"}]}], "]"}], ")"}], " ", 
     "\[LessEqual]", " ", "0.02"}], " ", "&&", " ", 
    RowBox[{"(", 
     RowBox[{
      RowBox[{"Abs", "[", 
       RowBox[{"volt1", " ", "-", 
        RowBox[{"answer", "[", 
         RowBox[{"[", 
          RowBox[{"1", "+", "1"}], "]"}], "]"}]}], "]"}], " ", "\[LessEqual]",
       " ", "0.02"}], ")"}]}]}], "]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"OutputWaveform", "[", 
   RowBox[{
    RowBox[{"{", 
     RowBox[{"0", ",", "1"}], "}"}], ",", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"{", "0", "}"}], ",", 
      RowBox[{"{", "0", "}"}]}], "}"}], ",", "1", ",", "1", ",", " ", 
    RowBox[{"MessageLevel", " ", "\[Rule]", " ", "0"}]}], "]"}], 
  ";"}]}], "Input",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.4119228999982977`*^9}, {
   3.411924604809696*^9, 3.411924626110325*^9}, {3.4119246603796015`*^9, 
   3.4119246664883857`*^9}, {3.4122859157203293`*^9, 3.412285978019912*^9}, {
   3.4123596833429613`*^9, 3.4123596836133504`*^9}, {3.412428602496024*^9, 
   3.4124286089853554`*^9}, {3.41242889606816*^9, 3.4124289136434317`*^9}, {
   3.412428991024701*^9, 3.412429000788741*^9}, {3.412429108423512*^9, 
   3.412429180376976*^9}, {3.412429230749408*^9, 3.4124292523905263`*^9}, {
   3.4124293042250605`*^9, 3.412429660867888*^9}, {3.4124297076251216`*^9, 
   3.412429750016077*^9}, {3.412429978474584*^9, 3.412429983652029*^9}, {
   3.415127698082239*^9, 3.415128002570071*^9}}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Output errors:\\nChannel 0 = \"\>", "\[InvisibleSpace]", 
   "0.0020588429827426147`", "\[InvisibleSpace]", "\<\" Volts\\n\"\>", 
   "\[InvisibleSpace]", "\<\"Channel 1 = \"\>", "\[InvisibleSpace]", 
   "0.0002258968352071289`", "\[InvisibleSpace]", "\<\" Volts\"\>"}],
  SequenceForm[
  "Output errors:\nChannel 0 = ", 0.0020588429827426147`, " Volts\n", 
   "Channel 1 = ", 0.0002258968352071289, " Volts"],
  Editable->False]], "Print",
 CellChangeTimes->{3.440952558868379*^9, 3.440952975217059*^9}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Running the test named: \"\>", "\[InvisibleSpace]", 
   InterpretationBox["\<\"Outputting a voltages on channels 0 and \
1...pass\"\>",
    StringForm[
    "`1`...`2`", "Outputting a voltages on channels 0 and 1", "pass"],
    Editable->False]}],
  SequenceForm["Running the test named: ", 
   StringForm[
   "`1`...`2`", "Outputting a voltages on channels 0 and 1", "pass"]],
  Editable->False]], "Print",
 CellChangeTimes->{3.440952558868379*^9, 3.4409529752270737`*^9}]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["\<\
Outputting on two channels repeatedly using Immediate transfer\
\>", "Subsubtitle",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.411922883865099*^9}, {
   3.4124286256893744`*^9, 3.412428631968403*^9}, {3.4124286897314625`*^9, 
   3.4124286977429824`*^9}, {3.4124287361482067`*^9, 
   3.4124287428578544`*^9}, {3.4124290873532143`*^9, 
   3.4124290905077505`*^9}, {3.4124301842104177`*^9, 3.412430214503978*^9}, {
   3.4222055327311664`*^9, 3.422205534493701*^9}}],

Cell["\<\
This method works but is not recommended as it is very slow since slow \
indentical setup is preformed every time for both reading and writing.\
\>", "Text",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.4119228999982977`*^9}, {
   3.411924604809696*^9, 3.411924626110325*^9}, {3.4119246603796015`*^9, 
   3.4119246664883857`*^9}, {3.4122859157203293`*^9, 3.412285978019912*^9}, {
   3.4123596833429613`*^9, 3.4123596836133504`*^9}, {3.412428602496024*^9, 
   3.4124286089853554`*^9}, {3.41242889606816*^9, 3.4124289136434317`*^9}, {
   3.412428991024701*^9, 3.412429000788741*^9}, {3.412429108423512*^9, 
   3.412429180376976*^9}, {3.412429230749408*^9, 3.4124292523905263`*^9}, {
   3.4124293042250605`*^9, 3.412429660867888*^9}, {3.4124297076251216`*^9, 
   3.412429750016077*^9}, {3.412429978474584*^9, 3.412430121279928*^9}, {
   3.4124302170776787`*^9, 3.412430266498742*^9}, {3.412431974985426*^9, 
   3.412431988464808*^9}}],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"Clear", "[", "answer", "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"inputData", " ", "=", " ", 
   RowBox[{"Table", "[", 
    RowBox[{
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        RowBox[{"{", 
         RowBox[{"Sin", "[", "x", "]"}], "}"}], ",", 
        RowBox[{"{", 
         RowBox[{"Cos", "[", "x", "]"}], "}"}]}], "}"}], "//", "N"}], ",", 
     RowBox[{"{", 
      RowBox[{"x", ",", "0", ",", 
       RowBox[{
        RowBox[{"4", "*", "Pi"}], "-", 
        RowBox[{"2", "*", 
         RowBox[{"Pi", "/", "100"}]}]}], ",", 
       RowBox[{"2", "*", 
        RowBox[{"Pi", "/", "100"}]}]}], "}"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"answer", " ", "=", 
   RowBox[{"Table", " ", "[", 
    RowBox[{
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        RowBox[{"OutputWaveform", "[", 
         RowBox[{
          RowBox[{"{", 
           RowBox[{"0", ",", "1"}], "}"}], ",", "p", ",", "10", ",", "10"}], 
         "]"}], ",", 
        RowBox[{"GetVoltages", "[", 
         RowBox[{
          RowBox[{"{", 
           RowBox[{"0", ",", "3"}], "}"}], ",", "100", ",", "1", ",", 
          RowBox[{"IncludeTime", "->", "Omit"}]}], "]"}]}], "}"}], "[", 
      RowBox[{"[", "2", "]"}], "]"}], ",", " ", 
     RowBox[{"{", 
      RowBox[{"p", ",", "inputData"}], "}"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{"ListPlot", "[", 
  RowBox[{"{", 
   RowBox[{
    RowBox[{"Take", "[", 
     RowBox[{
      RowBox[{"Flatten", "[", 
       RowBox[{"inputData", ",", "2"}], "]"}], ",", 
      RowBox[{"{", 
       RowBox[{"1", ",", 
        RowBox[{"-", "1"}], ",", "2"}], "}"}]}], "]"}], ",", 
    RowBox[{"Take", "[", 
     RowBox[{
      RowBox[{"Flatten", "[", 
       RowBox[{"answer", ",", "2"}], "]"}], ",", 
      RowBox[{"{", 
       RowBox[{"1", ",", 
        RowBox[{"-", "1"}], ",", "2"}], "}"}]}], "]"}]}], "}"}], 
  "]"}], "\[IndentingNewLine]", 
 RowBox[{"LogTest`pointsInError", " ", "=", " ", 
  RowBox[{"Count", "[", 
   RowBox[{
    RowBox[{"Abs", "[", 
     RowBox[{
      RowBox[{"Flatten", "[", 
       RowBox[{"inputData", ",", "2"}], "]"}], "-", " ", 
      RowBox[{"Flatten", "[", 
       RowBox[{"answer", ",", "2"}], "]"}]}], "]"}], ",", 
    RowBox[{"x_", " ", "/;", " ", 
     RowBox[{"x", "\[GreaterEqual]", " ", ".02"}]}]}], 
   "]"}]}], "\[IndentingNewLine]", 
 RowBox[{"LogTest`Test", "[", 
  RowBox[{
  "\"\<Outputting repeatedly using slow IMMEDIATE transfer on channels 0 and \
1\>\"", ",", 
   RowBox[{"LogTest`pointsInError", " ", "\[Equal]", "0"}]}], 
  "]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"OutputWaveform", "[", 
   RowBox[{
    RowBox[{"{", 
     RowBox[{"0", ",", "1"}], "}"}], ",", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"{", "0", "}"}], ",", 
      RowBox[{"{", "0", "}"}]}], "}"}], ",", "1", ",", "1", ",", " ", 
    RowBox[{"MessageLevel", " ", "\[Rule]", " ", "0"}]}], "]"}], 
  ";"}]}], "Input",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.4119228999982977`*^9}, {
   3.411924604809696*^9, 3.411924626110325*^9}, {3.4119246603796015`*^9, 
   3.4119246664883857`*^9}, {3.4122859157203293`*^9, 3.412285978019912*^9}, {
   3.4123596833429613`*^9, 3.4123596836133504`*^9}, {3.412428602496024*^9, 
   3.4124286089853554`*^9}, {3.41242889606816*^9, 3.4124289136434317`*^9}, {
   3.412428991024701*^9, 3.412429000788741*^9}, {3.412429108423512*^9, 
   3.412429180376976*^9}, {3.412429230749408*^9, 3.4124292523905263`*^9}, {
   3.4124293042250605`*^9, 3.412429660867888*^9}, {3.4124297076251216`*^9, 
   3.412429750016077*^9}, {3.412429978474584*^9, 3.4124300574180994`*^9}, {
   3.4124302711253953`*^9, 3.4124302900526114`*^9}, {3.412430324341917*^9, 
   3.4124304634118896`*^9}, {3.412430565428582*^9, 3.4124306957960415`*^9}, {
   3.4124310392499037`*^9, 3.4124310749312115`*^9}, 3.4124312793551583`*^9, {
   3.4124317278300333`*^9, 3.4124317299230433`*^9}, {3.4124318391701326`*^9, 
   3.412431860300517*^9}, {3.412432030945893*^9, 3.4124320699720097`*^9}, {
   3.412432101226952*^9, 3.4124321079365997`*^9}, {3.412707500576027*^9, 
   3.412707506905128*^9}, {3.415128905518447*^9, 3.415128930023684*^9}, 
   3.415128974287332*^9, 3.415129680572921*^9, {3.4151301431781144`*^9, 
   3.415130170176937*^9}, {3.415131003004484*^9, 3.4151310789937515`*^9}, 
   3.4151311219955845`*^9, {3.4151311533306427`*^9, 3.4151311682320695`*^9}, {
   3.4151312240623493`*^9, 3.4151312909284983`*^9}, {3.41513197671461*^9, 
   3.415131977155244*^9}, {3.415132018895263*^9, 3.415132048788247*^9}, {
   3.4151320957057114`*^9, 3.415132151886495*^9}}],

Cell[BoxData[
 GraphicsBox[{
   {Hue[0.67, 0.6, 0.6], PointBox[CompressedData["
1:eJxdVUtoXVUUvTYFa8TSkCoBo9zaRsRK679+qtlp/k2avv//vZz7e/eJYEdi
60BOJk4cOBB0IIHXjhLowIEtYgY5o7aOAkqQYpCrNvSnvgwKgkhS5e0jrH0g
hJWdfc8+e6299gH/TCba5TjOtX9//vvdPVvDDh4691nyeG//V/z3PZRUz9fv
9hrG++jshz3R4D9XGe+nzx8c/LtvfY3xAKVuHz3WufID40EaWF6aqnz6I2OX
FheGvvtr+CfGT1FmebX2yPrPjA9R+vDA8Y+GfmH8NDUq7+8+uPYr42do5YFL
21eiG4yfpX63L792c5Pxc/TYN9/3XM7eZHyE7rxbDR5eusX4eVq698WXH/x2
m/EL9PGRcGdl913GL1LZLMx93fs745fok0c3Nor3LH6ZNiudxW/NH4xfoZ3c
WP/eM38yfpWSJ/c9cWHb4mO089DQxc33Ooxfo57rOhevWvw6bY/eWF3vWPwG
IS9vivhxkf+W+P7b4v5hUR9h/ZrE+0bw/XpE9OcE9k+fEP0dxf7rUcHPGPKn
xwS/48i/Hhf6mED96Amhr0nUn54U+pxC/eopoe9p1L+eZj7sOWnjq934SZvf
xc6M/T7HZ+z9HJ+19XF81tbP8VP2fRw/Zd/P8TnbH47P2f5x/LTtL8dP2/5z
PGX56WJKWf74/1OW3y42Kcs/56etPjg/bfXD+WmrL85PW/1xfsbqk/MzVr+c
n7H65vyM1T/nZ5mPLc7PYlxnRX4Wv+/kxP05rE/nRP05fJ+TF+/PY390XvQv
j/11CqL/BeRHF5A/UxD8FpF/KqI+dBH1Y4pCXyXUH5VQn7qE+jUloe8y6p/K
zAcfXcb5MWUxXxWcP6rgfOoKzq+piPmu4vxTFf1BV9E/TFX4Sw39h2roT7qG
/mVqwt/q6H9UR3/UdfRPUxf+2kD/pQb6s26gf5uG8Pd59H+ax/2g55kP3h9G
xB2F+a7C75PC+5US9Smsv63wfUbh+xMl9oeH/XM97C952H/lCX485K/tIb/G
Q/4TT+wPH/Xj+qgv8lF/yhf69FG/bR/1bXzUf+IzH/YEOD9ugPNFAc6fCsR8
Bji/7QDn2wQ4/0kg9keI/uGG6C8Uov+oUPhTiP7VDtHfTIj+l4Rif0Ton26E
/koR+q+KhD9H6N/tCP3dROj/SST2R5P54P3hNjFOTcxXTbGfmuL+JtZnmlh/
0hT7Ixbvj7E/FGP/VCz2cyz6HyM/Jkb+kljsj5bgv4X6oBbqR7VQX7ol9NdC
fZoW6jdpif3xzv/6vw8poveX
     "]]}, 
   {Hue[0.9060679774997897, 0.6, 0.6], PointBox[CompressedData["
1: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
U/8BH/w0jQ==
     "]]}},
  AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948],
  Axes->True,
  AxesOrigin->{0, Automatic},
  PlotRange->Automatic,
  PlotRangeClipping->True]], "Output",
 CellChangeTimes->{3.4409525686824913`*^9, 3.44095298404976*^9}],

Cell[BoxData["0"], "Output",
 CellChangeTimes->{3.4409525686824913`*^9, 3.440952984069789*^9}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Running the test named: \"\>", "\[InvisibleSpace]", 
   InterpretationBox["\<\"Outputting repeatedly using slow IMMEDIATE transfer \
on channels 0 and 1...pass\"\>",
    StringForm[
    "`1`...`2`", 
     "Outputting repeatedly using slow IMMEDIATE transfer on channels 0 and \
1", "pass"],
    Editable->False]}],
  SequenceForm["Running the test named: ", 
   StringForm[
   "`1`...`2`", 
    "Outputting repeatedly using slow IMMEDIATE transfer on channels 0 and 1",
     "pass"]],
  Editable->False]], "Print",
 CellChangeTimes->{3.4409525687626066`*^9, 3.440952984069789*^9}]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell["\<\
Outputting one or two channel one sample repeatedly using Setup only option\
\>", "Subsubtitle",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.4119228999982977`*^9}, {
   3.411924604809696*^9, 3.411924626110325*^9}, {3.4119246603796015`*^9, 
   3.4119246664883857`*^9}, {3.4122859157203293`*^9, 3.412285978019912*^9}, {
   3.4123596833429613`*^9, 3.4123596836133504`*^9}, {3.412428602496024*^9, 
   3.4124286089853554`*^9}, {3.41242889606816*^9, 3.4124289136434317`*^9}, {
   3.412428991024701*^9, 3.412429000788741*^9}, {3.412429108423512*^9, 
   3.412429180376976*^9}, {3.412429230749408*^9, 3.4124292523905263`*^9}, {
   3.4124293042250605`*^9, 3.412429660867888*^9}, {3.4124297076251216`*^9, 
   3.412429750016077*^9}, {3.412429978474584*^9, 3.4124300574180994`*^9}, {
   3.4124302711253953`*^9, 3.4124302900526114`*^9}, {3.412430324341917*^9, 
   3.4124304634118896`*^9}, {3.412430565428582*^9, 3.4124306957960415`*^9}, {
   3.4124310392499037`*^9, 3.4124310749312115`*^9}, 3.4124312793551583`*^9, {
   3.4124317278300333`*^9, 3.4124317299230433`*^9}, {3.4124318391701326`*^9, 
   3.412431860300517*^9}, {3.412432030945893*^9, 3.4124320699720097`*^9}, {
   3.412432101226952*^9, 3.4124321079365997`*^9}, {3.412707500576027*^9, 
   3.4127075406436415`*^9}, {3.4127075966541805`*^9, 
   3.4127076180749826`*^9}, {3.412707689337453*^9, 3.4127076938739758`*^9}, {
   3.4127092586239758`*^9, 3.412709270130522*^9}}],

Cell["\<\
This method works but is recommended when mthematica must do computation of \
value to send each time.  However, the timing is not consistent as the PC is \
woirking on other tasks as well so loop time varies.  Note the irratating \
asymmetry between OutputWaveForm which take data as list of list \
{{Real},{Real}} and RunTask which needs a list {Real,Real}!\
\>", "Text",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.4119228999982977`*^9}, {
   3.411924604809696*^9, 3.411924626110325*^9}, {3.4119246603796015`*^9, 
   3.4119246664883857`*^9}, {3.4122859157203293`*^9, 3.412285978019912*^9}, {
   3.4123596833429613`*^9, 3.4123596836133504`*^9}, {3.412428602496024*^9, 
   3.4124286089853554`*^9}, {3.41242889606816*^9, 3.4124289136434317`*^9}, {
   3.412428991024701*^9, 3.412429000788741*^9}, {3.412429108423512*^9, 
   3.412429180376976*^9}, {3.412429230749408*^9, 3.4124292523905263`*^9}, {
   3.4124293042250605`*^9, 3.412429660867888*^9}, {3.4124297076251216`*^9, 
   3.412429750016077*^9}, {3.412429978474584*^9, 3.4124300574180994`*^9}, {
   3.4124302711253953`*^9, 3.4124302900526114`*^9}, {3.412430324341917*^9, 
   3.4124304634118896`*^9}, {3.412430565428582*^9, 3.4124306957960415`*^9}, {
   3.4124310392499037`*^9, 3.4124310749312115`*^9}, 3.4124312793551583`*^9, {
   3.4124317278300333`*^9, 3.4124317299230433`*^9}, {3.4124318391701326`*^9, 
   3.412431860300517*^9}, {3.412432030945893*^9, 3.4124320699720097`*^9}, {
   3.412432101226952*^9, 3.4124321079365997`*^9}, {3.412707500576027*^9, 
   3.4127075406436415`*^9}, {3.4127076234326863`*^9, 
   3.4127076366016226`*^9}, {3.412707666985312*^9, 3.4127077234264708`*^9}, {
   3.412708480054448*^9, 3.4127085387588606`*^9}, {3.4127100354509983`*^9, 
   3.412710044634203*^9}, {3.4127129874958305`*^9, 3.4127130994067507`*^9}}],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"volt", " ", "=", "1.80"}], ";", 
  RowBox[{"answer", " ", "=", "0"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"thWrite", " ", "=", " ", 
   RowBox[{"OutputWaveform", "[", 
    RowBox[{
     RowBox[{"{", "0", "}"}], ",", 
     RowBox[{"{", "0.0", "}"}], ",", "10", ",", "10", ",", 
     RowBox[{"SetupOnly", " ", "->", "True"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"RunTask", "[", 
   RowBox[{"thWrite", ",", "volt"}], "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"answer", "=", 
   RowBox[{"Mean", "[", 
    RowBox[{"GetVoltages", "[", 
     RowBox[{
      RowBox[{"{", "0", "}"}], ",", "60", ",", "10", ",", 
      RowBox[{"IncludeTime", "->", "Omit"}]}], "]"}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Print", "[", " ", 
   RowBox[{"\"\<Output channel 0 error in volt is: \>\"", ",", 
    RowBox[{"volt", "-", "answer"}], ",", " ", "\"\< Volts\>\""}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"LogTest`Test", "[", 
   RowBox[{
   "\"\<Using setup only option to ouput single voltage on channel 0\>\"", 
    ",", 
    RowBox[{
     RowBox[{"Abs", "[", 
      RowBox[{"volt", "-", "answer"}], "]"}], " ", "\[LessEqual]", ".02"}]}], 
   "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"RunTask", "[", 
   RowBox[{"thWrite", ",", "0.0"}], "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ClearTask", "[", "thWrite", "]"}], ";"}]}], "Input",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.4119228999982977`*^9}, {
   3.411924604809696*^9, 3.411924626110325*^9}, {3.4119246603796015`*^9, 
   3.4119246664883857`*^9}, {3.4122859157203293`*^9, 3.412285978019912*^9}, {
   3.4123596833429613`*^9, 3.4123596836133504`*^9}, {3.412428602496024*^9, 
   3.4124286089853554`*^9}, {3.41242889606816*^9, 3.4124289136434317`*^9}, {
   3.412428991024701*^9, 3.412429000788741*^9}, {3.412429108423512*^9, 
   3.412429180376976*^9}, {3.412429230749408*^9, 3.4124292523905263`*^9}, {
   3.4124293042250605`*^9, 3.412429660867888*^9}, {3.4124297076251216`*^9, 
   3.412429750016077*^9}, {3.412429978474584*^9, 3.4124300574180994`*^9}, {
   3.4124302711253953`*^9, 3.4124302900526114`*^9}, {3.412430324341917*^9, 
   3.4124304634118896`*^9}, {3.412430565428582*^9, 3.4124306957960415`*^9}, {
   3.4124310392499037`*^9, 3.4124310749312115`*^9}, 3.4124312793551583`*^9, {
   3.4124317278300333`*^9, 3.4124317299230433`*^9}, {3.4124318391701326`*^9, 
   3.412431860300517*^9}, {3.412432030945893*^9, 3.4124320699720097`*^9}, {
   3.412432101226952*^9, 3.4124321079365997`*^9}, {3.412707500576027*^9, 
   3.4127075312801776`*^9}, {3.4127077389788337`*^9, 3.412707828317296*^9}, {
   3.4127078956240788`*^9, 3.412708054542592*^9}, {3.412708549784715*^9, 
   3.4127085651968765`*^9}, {3.4127085977136335`*^9, 
   3.4127086150185165`*^9}, {3.412710163144613*^9, 3.4127103918935375`*^9}, 
   3.4127104329225345`*^9, {3.412710466661048*^9, 3.4127105391552896`*^9}, {
   3.412710586483344*^9, 3.412710587635*^9}, {3.412710812808784*^9, 
   3.4127108363526382`*^9}, {3.4127109118111424`*^9, 
   3.4127109119313154`*^9}, {3.415131358645871*^9, 3.415131405132716*^9}}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Output channel 0 error in volt is: \"\>", "\[InvisibleSpace]", 
   "0.0012489774239945461`", "\[InvisibleSpace]", "\<\" Volts\"\>"}],
  SequenceForm[
  "Output channel 0 error in volt is: ", 0.0012489774239945461`, " Volts"],
  Editable->False]], "Print",
 CellChangeTimes->{3.4409525691832113`*^9, 3.440952984520437*^9}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Running the test named: \"\>", "\[InvisibleSpace]", 
   InterpretationBox["\<\"Using setup only option to ouput single voltage on \
channel 0...pass\"\>",
    StringForm[
    "`1`...`2`", 
     "Using setup only option to ouput single voltage on channel 0", "pass"],
    Editable->False]}],
  SequenceForm["Running the test named: ", 
   StringForm[
   "`1`...`2`", 
    "Using setup only option to ouput single voltage on channel 0", "pass"]],
  Editable->False]], "Print",
 CellChangeTimes->{3.4409525691832113`*^9, 3.4409529845404654`*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"volt0", " ", "=", 
   RowBox[{"-", "1.8"}]}], ";", 
  RowBox[{"volt1", "=", 
   RowBox[{"-", "0.78"}]}], ";", 
  RowBox[{"Clear", "[", "answer", "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"OutputWaveform", "[", 
   RowBox[{
    RowBox[{"{", 
     RowBox[{"0", ",", " ", "1"}], "}"}], ",", " ", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"{", "volt0", "}"}], ",", 
      RowBox[{"{", "volt1", "}"}]}], "}"}], ",", " ", "1", ",", " ", "1", ",",
     " ", 
    RowBox[{"SetupOnly", "\[Rule]", "True"}], ",", 
    RowBox[{"MessageLevel", " ", "\[Rule]", " ", "0"}]}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"RunTask", "[", 
   RowBox[{"thWrite", ",", 
    RowBox[{"{", 
     RowBox[{"volt0", ",", "volt1"}], "}"}]}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"answer", "=", 
   RowBox[{"Mean", "[", 
    RowBox[{"Transpose", "[", 
     RowBox[{"GetVoltages", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "3"}], "}"}], ",", "60", ",", "10", ",", 
       RowBox[{"IncludeTime", "->", "Omit"}]}], "]"}], "]"}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Print", "[", " ", 
   RowBox[{"\"\<Output errors:\\nChannel 0 = \>\"", ",", 
    RowBox[{"volt0", "-", 
     RowBox[{"answer", "[", 
      RowBox[{"[", 
       RowBox[{"0", "+", "1"}], "]"}], "]"}]}], ",", " ", "\"\< Volts\\n\>\"",
     ",", "\"\<Channel 1 = \>\"", ",", 
    RowBox[{"volt1", " ", "-", 
     RowBox[{"answer", "[", 
      RowBox[{"[", 
       RowBox[{"1", "+", "1"}], "]"}], "]"}]}], ",", " ", "\"\< Volts\>\""}], 
   "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"LogTest`Test", "[", 
   RowBox[{"\"\<Using setup only option to ouput on two channels\>\"", ",", 
    RowBox[{
     RowBox[{
      RowBox[{"(", 
       RowBox[{"Abs", "[", 
        RowBox[{"volt0", "-", 
         RowBox[{"answer", "[", 
          RowBox[{"[", 
           RowBox[{"0", "+", "1"}], "]"}], "]"}]}], "]"}], ")"}], " ", 
      "\[LessEqual]", " ", "0.02"}], " ", "&&", " ", 
     RowBox[{"(", 
      RowBox[{
       RowBox[{"Abs", "[", 
        RowBox[{"volt1", " ", "-", 
         RowBox[{"answer", "[", 
          RowBox[{"[", 
           RowBox[{"1", "+", "1"}], "]"}], "]"}]}], "]"}], " ", 
       "\[LessEqual]", " ", "0.02"}], ")"}]}]}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"RunTask", "[", 
   RowBox[{"thWrite", ",", 
    RowBox[{"{", 
     RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ClearTask", "[", "thWrite", "]"}], ";"}]}], "Input",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.4119228999982977`*^9}, {
   3.411924604809696*^9, 3.411924626110325*^9}, {3.4119246603796015`*^9, 
   3.4119246664883857`*^9}, {3.4122859157203293`*^9, 3.412285978019912*^9}, {
   3.4123596833429613`*^9, 3.4123596836133504`*^9}, {3.412428602496024*^9, 
   3.4124286089853554`*^9}, {3.41242889606816*^9, 3.4124289136434317`*^9}, {
   3.412428991024701*^9, 3.412429000788741*^9}, {3.412429108423512*^9, 
   3.412429180376976*^9}, {3.412429230749408*^9, 3.4124292523905263`*^9}, {
   3.4124293042250605`*^9, 3.412429660867888*^9}, {3.4124297076251216`*^9, 
   3.412429750016077*^9}, {3.412429978474584*^9, 3.4124300574180994`*^9}, {
   3.4124302711253953`*^9, 3.4124302900526114`*^9}, {3.412430324341917*^9, 
   3.4124304634118896`*^9}, {3.412430565428582*^9, 3.4124306957960415`*^9}, {
   3.4124310392499037`*^9, 3.4124310749312115`*^9}, 3.4124312793551583`*^9, {
   3.4124317278300333`*^9, 3.4124317299230433`*^9}, {3.4124318391701326`*^9, 
   3.412431860300517*^9}, {3.412432030945893*^9, 3.4124320699720097`*^9}, {
   3.412432101226952*^9, 3.4124321079365997`*^9}, {3.412707500576027*^9, 
   3.4127075312801776`*^9}, {3.4127077389788337`*^9, 3.412707828317296*^9}, {
   3.4127078956240788`*^9, 3.412708054542592*^9}, {3.412708549784715*^9, 
   3.4127085651968765`*^9}, {3.4127085977136335`*^9, 
   3.4127086150185165`*^9}, {3.412710163144613*^9, 3.412710282996952*^9}, {
   3.412710603137291*^9, 3.412710675731677*^9}, {3.4127107083485775`*^9, 
   3.4127108010018063`*^9}, {3.415131445961425*^9, 3.4151315018918486`*^9}}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Output errors:\\nChannel 0 = \"\>", "\[InvisibleSpace]", 
   RowBox[{"-", "0.0010839161106674933`"}], 
   "\[InvisibleSpace]", "\<\" Volts\\n\"\>", 
   "\[InvisibleSpace]", "\<\"Channel 1 = \"\>", "\[InvisibleSpace]", 
   "8.948819682053077`*^-6", "\[InvisibleSpace]", "\<\" Volts\"\>"}],
  SequenceForm[
  "Output errors:\nChannel 0 = ", -0.0010839161106674933`, " Volts\n", 
   "Channel 1 = ", 8.948819682053077*^-6, " Volts"],
  Editable->False]], "Print",
 CellChangeTimes->{3.4409525695537443`*^9, 3.440952984850912*^9}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Running the test named: \"\>", "\[InvisibleSpace]", 
   InterpretationBox["\<\"Using setup only option to ouput on two \
channels...pass\"\>",
    StringForm[
    "`1`...`2`", "Using setup only option to ouput on two channels", "pass"],
    Editable->False]}],
  SequenceForm["Running the test named: ", 
   StringForm[
   "`1`...`2`", "Using setup only option to ouput on two channels", "pass"]],
  Editable->False]], "Print",
 CellChangeTimes->{3.4409525695537443`*^9, 3.4409529848609266`*^9}]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell["Using Setup Only for both Reading and write channels of data", \
"Subsubtitle",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.4119228999982977`*^9}, {
   3.411924604809696*^9, 3.411924626110325*^9}, {3.4119246603796015`*^9, 
   3.4119246664883857`*^9}, {3.4122859157203293`*^9, 3.412285978019912*^9}, {
   3.4123596833429613`*^9, 3.4123596836133504`*^9}, {3.412428602496024*^9, 
   3.4124286089853554`*^9}, {3.41242889606816*^9, 3.4124289136434317`*^9}, {
   3.412428991024701*^9, 3.412429000788741*^9}, {3.412429108423512*^9, 
   3.412429180376976*^9}, {3.412429230749408*^9, 3.4124292523905263`*^9}, {
   3.4124293042250605`*^9, 3.412429660867888*^9}, {3.4124297076251216`*^9, 
   3.412429750016077*^9}, {3.412429978474584*^9, 3.4124300574180994`*^9}, {
   3.4124302711253953`*^9, 3.4124302900526114`*^9}, {3.412430324341917*^9, 
   3.4124304634118896`*^9}, {3.412430565428582*^9, 3.4124306957960415`*^9}, {
   3.4124310392499037`*^9, 3.4124310749312115`*^9}, 3.4124312793551583`*^9, {
   3.4124317278300333`*^9, 3.4124317299230433`*^9}, {3.4124318391701326`*^9, 
   3.412431860300517*^9}, {3.412432030945893*^9, 3.4124320699720097`*^9}, {
   3.412432101226952*^9, 3.4124321079365997`*^9}, {3.412707500576027*^9, 
   3.4127075312801776`*^9}, {3.4127077389788337`*^9, 3.412707828317296*^9}, {
   3.4127078956240788`*^9, 3.412708054542592*^9}, {3.412708549784715*^9, 
   3.4127085651968765`*^9}, {3.4127085977136335`*^9, 
   3.4127086150185165`*^9}, {3.412710163144613*^9, 3.412710282996952*^9}, {
   3.412710603137291*^9, 3.412710606111568*^9}, {3.4127109416640687`*^9, 
   3.412710954142011*^9}, {3.412710984776061*^9, 3.4127109932181997`*^9}, {
   3.4222056448423743`*^9, 3.4222056980288525`*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{"thWrite", " ", "=", " ", 
   RowBox[{"OutputWaveform", "[", 
    RowBox[{
     RowBox[{"{", "0", "}"}], ",", 
     RowBox[{"{", ".4", "}"}], ",", "10", ",", "10", ",", 
     RowBox[{"SetupOnly", " ", "->", "True"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Table", "[", 
   RowBox[{
    RowBox[{"RunTask", "[", 
     RowBox[{"thWrite", ",", 
      RowBox[{
       RowBox[{"Sin", "[", "x", "]"}], "//", "N"}]}], "]"}], ",", 
    RowBox[{"{", 
     RowBox[{"x", ",", "0", ",", 
      RowBox[{"4", "*", "Pi"}], ",", 
      RowBox[{"2", "*", 
       RowBox[{"Pi", "/", "100"}]}]}], "}"}]}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ClearTask", "[", "thWrite", "]"}], ";"}]}], "Input",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.4119228999982977`*^9}, {
   3.411924604809696*^9, 3.411924626110325*^9}, {3.4119246603796015`*^9, 
   3.4119246664883857`*^9}, {3.4122859157203293`*^9, 3.412285978019912*^9}, {
   3.4123596833429613`*^9, 3.4123596836133504`*^9}, {3.412428602496024*^9, 
   3.4124286089853554`*^9}, {3.41242889606816*^9, 3.4124289136434317`*^9}, {
   3.412428991024701*^9, 3.412429000788741*^9}, {3.412429108423512*^9, 
   3.412429180376976*^9}, {3.412429230749408*^9, 3.4124292523905263`*^9}, {
   3.4124293042250605`*^9, 3.412429660867888*^9}, {3.4124297076251216`*^9, 
   3.412429750016077*^9}, {3.412429978474584*^9, 3.4124300574180994`*^9}, {
   3.4124302711253953`*^9, 3.4124302900526114`*^9}, {3.412430324341917*^9, 
   3.4124304634118896`*^9}, {3.412430565428582*^9, 3.4124306957960415`*^9}, {
   3.4124310392499037`*^9, 3.4124310749312115`*^9}, 3.4124312793551583`*^9, {
   3.4124317278300333`*^9, 3.4124317299230433`*^9}, {3.4124318391701326`*^9, 
   3.412431860300517*^9}, {3.412432030945893*^9, 3.4124320699720097`*^9}, {
   3.412432101226952*^9, 3.4124321079365997`*^9}, {3.412707500576027*^9, 
   3.4127075312801776`*^9}, {3.4127077389788337`*^9, 3.412707828317296*^9}, {
   3.4127078956240788`*^9, 3.412708054542592*^9}, {3.412708549784715*^9, 
   3.4127085651968765`*^9}, {3.4127085977136335`*^9, 
   3.4127086150185165`*^9}, {3.412710163144613*^9, 3.412710282996952*^9}, {
   3.412710603137291*^9, 3.412710606111568*^9}, {3.4127109416640687`*^9, 
   3.412710954142011*^9}, {3.412710984776061*^9, 3.4127109932181997`*^9}, 
   3.4222056448423743`*^9}],

Cell[BoxData[{
 RowBox[{
  RowBox[{"thWrite", " ", "=", " ", 
   RowBox[{"OutputWaveform", "[", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "1"}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", "1.0", "}"}], ",", 
       RowBox[{"{", "2.0", "}"}]}], "}"}], ",", "10", ",", "10", ",", 
     RowBox[{"SetupOnly", " ", "->", "True"}], ",", 
     RowBox[{"MessageLevel", "\[Rule]", "0"}]}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{"Table", "[", 
   RowBox[{
    RowBox[{"RunTask", "[", 
     RowBox[{"thWrite", ",", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         RowBox[{"Sin", "[", "x", "]"}], ",", 
         RowBox[{"Cos", "[", "x", "]"}]}], "}"}], "//", "N"}]}], "]"}], ",", 
    RowBox[{"{", 
     RowBox[{"x", ",", "0", ",", 
      RowBox[{"4", "*", "Pi"}], ",", 
      RowBox[{"2", "*", 
       RowBox[{"Pi", "/", "100"}]}]}], "}"}]}], "]"}], ";"}], "\n", 
 RowBox[{
  RowBox[{"RunTask", "[", 
   RowBox[{"thWrite", ",", 
    RowBox[{"{", 
     RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ClearTask", "[", "thWrite", "]"}], ";"}]}], "Input",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.4119228999982977`*^9}, {
   3.411924604809696*^9, 3.411924626110325*^9}, {3.4119246603796015`*^9, 
   3.4119246664883857`*^9}, {3.4122859157203293`*^9, 3.412285978019912*^9}, {
   3.4123596833429613`*^9, 3.4123596836133504`*^9}, {3.412428602496024*^9, 
   3.4124286089853554`*^9}, {3.41242889606816*^9, 3.4124289136434317`*^9}, {
   3.412428991024701*^9, 3.412429000788741*^9}, {3.412429108423512*^9, 
   3.412429180376976*^9}, {3.412429230749408*^9, 3.4124292523905263`*^9}, {
   3.4124293042250605`*^9, 3.412429660867888*^9}, {3.4124297076251216`*^9, 
   3.412429750016077*^9}, {3.412429978474584*^9, 3.4124300574180994`*^9}, {
   3.4124302711253953`*^9, 3.4124302900526114`*^9}, {3.412430324341917*^9, 
   3.4124304634118896`*^9}, {3.412430565428582*^9, 3.4124306957960415`*^9}, {
   3.4124310392499037`*^9, 3.4124310749312115`*^9}, 3.4124312793551583`*^9, {
   3.4124317278300333`*^9, 3.4124317299230433`*^9}, {3.4124318391701326`*^9, 
   3.412431860300517*^9}, {3.412432030945893*^9, 3.4124320699720097`*^9}, {
   3.412432101226952*^9, 3.4124321079365997`*^9}, {3.412707500576027*^9, 
   3.4127075312801776`*^9}, {3.4127077389788337`*^9, 3.412707828317296*^9}, {
   3.4127078956240788`*^9, 3.412708054542592*^9}, {3.412708549784715*^9, 
   3.4127085651968765`*^9}, {3.4127085977136335`*^9, 
   3.4127086547256126`*^9}, {3.412708693791787*^9, 3.412708696565776*^9}, {
   3.4127087527866173`*^9, 3.4127087715836463`*^9}, 3.4127090119592896`*^9, {
   3.4127092792135825`*^9, 3.4127092850219345`*^9}, {3.412709621696048*^9, 
   3.4127096290065603`*^9}, {3.41270972255107*^9, 3.4127097351491857`*^9}, {
   3.41270996724292*^9, 3.4127099675733953`*^9}, {3.412710078593034*^9, 
   3.4127100848920913`*^9}, {3.412711038212899*^9, 3.4127110675150337`*^9}, 
   3.4127119060207453`*^9}],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"inputData", " ", "=", " ", 
   RowBox[{"Table", "[", 
    RowBox[{
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        RowBox[{"{", 
         RowBox[{"Sin", "[", "x", "]"}], "}"}], ",", 
        RowBox[{"{", 
         RowBox[{"Cos", "[", "x", "]"}], "}"}]}], "}"}], "//", "N"}], ",", 
     RowBox[{"{", 
      RowBox[{"x", ",", "0", ",", 
       RowBox[{"8", "*", "Pi"}], ",", 
       RowBox[{"2", "*", 
        RowBox[{"Pi", "/", "100"}]}]}], "}"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"thWrite", " ", "=", " ", 
   RowBox[{"OutputWaveform", "[", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "1"}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", "0.0", "}"}], ",", 
       RowBox[{"{", "0.0", "}"}]}], "}"}], ",", "10", ",", "10", ",", 
     RowBox[{"SetupOnly", "\[Rule]", "True"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"thRead", " ", "=", " ", 
   RowBox[{"GetVoltages", "[", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "3"}], "}"}], ",", "60", ",", "1", ",", 
     RowBox[{"SetupOnly", "\[Rule]", "True"}], ",", " ", 
     RowBox[{"MessageLevel", "\[Rule]", "0"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"answer", " ", "=", 
   RowBox[{"Table", " ", "[", 
    RowBox[{
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        RowBox[{"RunTask", "[", 
         RowBox[{"thWrite", ",", 
          RowBox[{"Flatten", "[", "p", "]"}]}], "]"}], ",", 
        RowBox[{"RunTask", "[", "thRead", "]"}]}], "}"}], "[", 
      RowBox[{"[", "2", "]"}], "]"}], ",", " ", 
     RowBox[{"{", 
      RowBox[{"p", ",", "inputData"}], "}"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{"ListPlot", "[", 
  RowBox[{"Flatten", "[", 
   RowBox[{"answer", ",", "2"}], "]"}], "]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ListPlot", "[", 
   RowBox[{
    RowBox[{"Flatten", "[", 
     RowBox[{"inputData", ",", "2"}], "]"}], "-", 
    RowBox[{"Flatten", "[", 
     RowBox[{"answer", ",", "2"}], "]"}]}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{"LogTest`pointsInError", " ", "=", " ", 
  RowBox[{"Count", "[", 
   RowBox[{
    RowBox[{"Abs", "[", 
     RowBox[{
      RowBox[{"Flatten", "[", 
       RowBox[{"inputData", ",", "2"}], "]"}], "-", " ", 
      RowBox[{"Flatten", "[", 
       RowBox[{"answer", ",", "2"}], "]"}]}], "]"}], ",", 
    RowBox[{"x_", " ", "/;", " ", 
     RowBox[{"x", "\[GreaterEqual]", " ", ".02"}]}]}], 
   "]"}]}], "\[IndentingNewLine]", 
 RowBox[{"LogTest`Test", "[", 
  RowBox[{
  "\"\<Outputting and Reading repeatedly on channels 0 and 1 using SetupOnly \
and RunTask for both\>\"", ",", 
   RowBox[{"LogTest`pointsInError", " ", "\[Equal]", "0"}]}], 
  "]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"RunTask", "[", 
   RowBox[{"thWrite", ",", 
    RowBox[{"{", 
     RowBox[{"0", ",", "0"}], "}"}]}], "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ClearTask", "[", "thWrite", "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ClearTask", "[", "thRead", "]"}], ";"}]}], "Input",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.4119228999982977`*^9}, {
   3.411924604809696*^9, 3.411924626110325*^9}, {3.4119246603796015`*^9, 
   3.4119246664883857`*^9}, {3.4122859157203293`*^9, 3.412285978019912*^9}, {
   3.4123596833429613`*^9, 3.4123596836133504`*^9}, {3.412428602496024*^9, 
   3.4124286089853554`*^9}, {3.41242889606816*^9, 3.4124289136434317`*^9}, {
   3.412428991024701*^9, 3.412429000788741*^9}, {3.412429108423512*^9, 
   3.412429180376976*^9}, {3.412429230749408*^9, 3.4124292523905263`*^9}, {
   3.4124293042250605`*^9, 3.412429660867888*^9}, {3.4124297076251216`*^9, 
   3.412429750016077*^9}, {3.412429978474584*^9, 3.4124300574180994`*^9}, {
   3.4124302711253953`*^9, 3.4124302900526114`*^9}, {3.412430324341917*^9, 
   3.4124304634118896`*^9}, {3.412430565428582*^9, 3.4124306957960415`*^9}, {
   3.4124310392499037`*^9, 3.4124310749312115`*^9}, 3.4124312793551583`*^9, {
   3.4124317278300333`*^9, 3.4124317299230433`*^9}, {3.4124318391701326`*^9, 
   3.412431860300517*^9}, {3.412432030945893*^9, 3.4124320699720097`*^9}, {
   3.412432101226952*^9, 3.4124321079365997`*^9}, {3.412707500576027*^9, 
   3.4127075312801776`*^9}, {3.4127077389788337`*^9, 3.412707828317296*^9}, {
   3.4127078956240788`*^9, 3.41270804122344*^9}, {3.4127081285690365`*^9, 
   3.4127081297607503`*^9}, {3.412708164050056*^9, 3.4127081946039906`*^9}, {
   3.4127082489621534`*^9, 3.4127082724759645`*^9}, {3.412708428320058*^9, 
   3.412708433157013*^9}, 3.412710089989421*^9, {3.4127120089888067`*^9, 
   3.412712092939522*^9}, {3.4127121683279247`*^9, 3.4127122037188144`*^9}, {
   3.4127122817610335`*^9, 3.4127122833433084`*^9}, {3.412712354044973*^9, 
   3.412712357299653*^9}, {3.4127124012127967`*^9, 3.412712469951638*^9}, {
   3.412712511711686*^9, 3.41271259477112*^9}, {3.4127127547711887`*^9, 
   3.4127127741891108`*^9}, {3.41271282275895*^9, 3.4127128538336334`*^9}, {
   3.4127128995393553`*^9, 3.412712904135965*^9}, {3.41271294869003*^9, 
   3.4127129487701454`*^9}, {3.412713206500744*^9, 3.412713214362048*^9}, 
   3.4127133533719344`*^9, {3.4151317222987785`*^9, 3.4151317712992373`*^9}, {
   3.415131812999199*^9, 3.415131892964183*^9}, {3.415132230098959*^9, 
   3.4151323352201157`*^9}, {3.4151323764994726`*^9, 3.4151324569251194`*^9}, 
   3.4151325153290997`*^9, {3.4151329178278646`*^9, 3.415132918148326*^9}, {
   3.422235925028411*^9, 3.422235926490514*^9}}],

Cell[BoxData[
 GraphicsBox[
  {Hue[0.67, 0.6, 0.6], PointBox[CompressedData["
1:eJxdmnl0FNW2xvuCSBTFBhmCoFSYDCCYiGDkRrNBxDAIHRAIAUJn7syVdDrp
zlg9F6DQCldQFFoGDajQoEIQhAKFBETSD1HgBaGDQcKYRhkSBLm8xTlvra/8
x3U8nlTXOfvb+/vtU2HJ+dPS2mk0mn7tNZr/+/eDf4IxmusfTk5ZRHvYf6DB
/3M3tO2flpgHwxBqu7hypNK6mY211Kl/sP+s63y+G4lXZj8/tWUPG4dS7e5n
9ad28Pk+9G11r4F9r9WysUDdPUe/yMvn8/0oYcF7x32H6tl4AI09tmpN2N2r
bDyI7P0Wzxq+72c2Dqczwz8btTyXzw+h4ROfSMp3HGfj56jrvjuGeuUKGw+n
xLzOFd+NamDjCFrS9c+9/quX2TiSNoY9vaX259Ns/AL5JwyIXNyRz4+gHuOn
PHHs6UY2fpFi9Bde7dz+EhuPpOPOtrh+tWfZeBTdca80tP1+gY1forCHpvYf
lNLExlH0UdGpr/5Z18zGL1Pcluoe486cY+PRdOBu23uG6efZ+N+0bH298Mx4
Po6mF2qe7vKfJv7/v0LSxtWjZq7hf+9VivftfbrEwJ8XQ7PD1xlnneS/h6jt
2CcHe9ez3ysR9el2dUJO60U2P4ZWBv50/TSQva80hi7MHRh9+Q5/37EUe3rL
tuIjbL+ksfSMbcu48Mt8v16j5T/H5vjGs/2WXqNZYaV5lTv5eYyj5tsNM7os
YecljaOtxtVjbiTz83ydYrrMnOw/zM5bep02JMwdaLnN58dTYrdee6+fYfEi
jac9cWO+K5vP4+kNMmWf6LX3bxZv0huqeIwlIT3j7QntFDYfSyuXhW7f2cjn
J2C8SxPo3HdffLrpGp+fSJqRZYZv1z/7QC/SRNr/8dnh31zg85Po/avL6zt0
87H5SarnTyb76sTEPp0VNj+Z3OceGWnK4PNv0oltJ39b2rGOzb+pev8pFL94
SMXAxno2P4X2JTbu/jiNz0+loyurNxzY9zObn0obj0Vd+6WG77+OJn4dWHp7
2fEH86Sj3tfF2qoL7PwkHU3Yb1od+0bDg3lFR5pFTV+de4ifbxyFXXrl6Pxj
p9n6ONqyYOPeNA2LDymOvtm65p1egxrZ+jh69+e+edWnefxNo6ndOrymPXqW
rZ+G8StNo/joHd0KU5rY+mn0jde2oucUHv/TqZd9y7XIi+fY+umoH2k6bT3Q
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

    "]]},
  AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948],
  Axes->True,
  AxesOrigin->{0, Automatic},
  PlotRange->Automatic,
  PlotRangeClipping->True]], "Output",
 CellChangeTimes->{3.4409525704650545`*^9, 3.4409529857121506`*^9}],

Cell[BoxData["0"], "Output",
 CellChangeTimes->{3.4409525704650545`*^9, 3.4409529857421937`*^9}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Running the test named: \"\>", "\[InvisibleSpace]", 
   InterpretationBox["\<\"Outputting and Reading repeatedly on channels 0 and \
1 using SetupOnly and RunTask for both...pass\"\>",
    StringForm[
    "`1`...`2`", 
     "Outputting and Reading repeatedly on channels 0 and 1 using SetupOnly \
and RunTask for both", "pass"],
    Editable->False]}],
  SequenceForm["Running the test named: ", 
   StringForm[
   "`1`...`2`", 
    "Outputting and Reading repeatedly on channels 0 and 1 using SetupOnly \
and RunTask for both", "pass"]],
  Editable->False]], "Print",
 CellChangeTimes->{3.44095257054517*^9, 3.44095298580228*^9}]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell["Checking Setup Only works independently for channels 0 and 1", \
"Subsubtitle",
 InitializationCell->True,
 CellChangeTimes->{
  3.415128358972553*^9, 3.41512841668554*^9, 3.4151316786660376`*^9, {
   3.4151317636382217`*^9, 3.4151317891248693`*^9}, {3.42220594676652*^9, 
   3.422205978341923*^9}}],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"thWrite0", " ", "=", " ", 
   RowBox[{"OutputWaveform", "[", 
    RowBox[{
     RowBox[{"{", "0", "}"}], ",", 
     RowBox[{"{", "0.0", "}"}], ",", "10", ",", "10", ",", 
     RowBox[{"SetupOnly", "\[Rule]", "True"}], ",", 
     RowBox[{"MessageLevel", "\[Rule]", "0"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"thWrite1", " ", "=", " ", 
    RowBox[{"OutputWaveform", "[", 
     RowBox[{
      RowBox[{"{", "1", "}"}], ",", 
      RowBox[{"{", "0.0", "}"}], ",", "10", ",", "10", ",", 
      RowBox[{"SetupOnly", "\[Rule]", "True"}], ",", 
      RowBox[{"MessageLevel", "\[Rule]", "0"}]}], "]"}]}], ";"}], 
  "\[IndentingNewLine]", 
  RowBox[{"(*", " ", 
   RowBox[{"thWrite1", " ", "=", " ", 
    RowBox[{
     RowBox[{"OutputWaveform", "[", 
      RowBox[{
       RowBox[{"{", "3", "}"}], ",", 
       RowBox[{"{", "0.0", "}"}], ",", "10", ",", "10", ",", 
       RowBox[{"SetupOnly", "\[Rule]", "True"}], ",", 
       RowBox[{"MessageLevel", "\[Rule]", "0"}]}], "]"}], " ", "CRASHES", " ",
      "mathDAQ"}]}], " ", "*)"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"val0", " ", "=", "0.50"}], ";", " ", 
  RowBox[{"val1", "=", " ", 
   RowBox[{"-", "0.7"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"RunTask", "[", 
   RowBox[{"thWrite0", ",", "val0"}], "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"RunTask", "[", 
   RowBox[{"thWrite1", ",", "val1"}], "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{"answer", " ", "=", 
  RowBox[{"Mean", "[", 
   RowBox[{"Transpose", "[", 
    RowBox[{"GetVoltages", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{"0", ",", "3"}], "}"}], ",", "6", ",", "6", ",", 
      RowBox[{"IncludeTime", "->", "Omit"}]}], "]"}], "]"}], 
   "]"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"LogTest`Test", "[", 
    RowBox[{
    "\"\<Setup Only works independently for output channels\>\"", ",", 
     RowBox[{
      RowBox[{
       RowBox[{"(", 
        RowBox[{"Abs", "[", 
         RowBox[{"val0", "-", 
          RowBox[{"answer", "[", 
           RowBox[{"[", 
            RowBox[{"0", "+", "1"}], "]"}], "]"}]}], "]"}], ")"}], " ", 
       "\[LessEqual]", " ", "0.02"}], " ", "&&", " ", 
      RowBox[{"(", 
       RowBox[{
        RowBox[{"Abs", "[", 
         RowBox[{"val1", " ", "-", 
          RowBox[{"answer", "[", 
           RowBox[{"[", 
            RowBox[{"1", "+", "1"}], "]"}], "]"}]}], "]"}], " ", 
        "\[LessEqual]", " ", "0.02"}], ")"}]}]}], "]"}], ";"}], 
  "\[IndentingNewLine]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"RunTask", "[", 
   RowBox[{"thWrite0", ",", "0"}], "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"RunTask", "[", 
   RowBox[{"thWrite1", ",", "0"}], "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ClearTask", "[", "thWrite0", "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ClearTask", "[", "thWrite1", "]"}], ";"}]}], "Input",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.4119228999982977`*^9}, {
   3.411924604809696*^9, 3.411924626110325*^9}, {3.4119246603796015`*^9, 
   3.4119246664883857`*^9}, {3.4122859157203293`*^9, 3.412285978019912*^9}, {
   3.4123596833429613`*^9, 3.4123596836133504`*^9}, {3.412428602496024*^9, 
   3.4124286089853554`*^9}, {3.41242889606816*^9, 3.4124289136434317`*^9}, {
   3.412428991024701*^9, 3.412429000788741*^9}, {3.412429108423512*^9, 
   3.412429180376976*^9}, {3.412429230749408*^9, 3.4124292523905263`*^9}, {
   3.4124293042250605`*^9, 3.412429660867888*^9}, {3.4124297076251216`*^9, 
   3.412429750016077*^9}, {3.412429978474584*^9, 3.4124300574180994`*^9}, {
   3.4124302711253953`*^9, 3.4124302900526114`*^9}, {3.412430324341917*^9, 
   3.4124304634118896`*^9}, {3.412430565428582*^9, 3.4124306957960415`*^9}, {
   3.4124310392499037`*^9, 3.4124310749312115`*^9}, 3.4124312793551583`*^9, {
   3.4124317278300333`*^9, 3.4124317299230433`*^9}, {3.4124318391701326`*^9, 
   3.412431860300517*^9}, {3.412432030945893*^9, 3.4124320699720097`*^9}, {
   3.412432101226952*^9, 3.4124321079365997`*^9}, {3.412707500576027*^9, 
   3.4127075312801776`*^9}, {3.4127077389788337`*^9, 3.412707828317296*^9}, {
   3.4127078956240788`*^9, 3.41270804122344*^9}, {3.4127081285690365`*^9, 
   3.4127081297607503`*^9}, {3.412708164050056*^9, 3.4127081946039906`*^9}, {
   3.4127082489621534`*^9, 3.4127082724759645`*^9}, {3.412708428320058*^9, 
   3.412708433157013*^9}, 3.412710089989421*^9, {3.4127120089888067`*^9, 
   3.412712092939522*^9}, {3.4127121683279247`*^9, 3.4127122037188144`*^9}, {
   3.4127122817610335`*^9, 3.4127122833433084`*^9}, {3.412712354044973*^9, 
   3.412712357299653*^9}, {3.4127124012127967`*^9, 3.412712469951638*^9}, {
   3.412712511711686*^9, 3.41271259477112*^9}, {3.4127127547711887`*^9, 
   3.4127127741891108`*^9}, {3.41271282275895*^9, 3.4127128538336334`*^9}, {
   3.4127128995393553`*^9, 3.412712904135965*^9}, {3.41271294869003*^9, 
   3.4127129487701454`*^9}, {3.412713206500744*^9, 3.412713214362048*^9}, {
   3.4127133533719344`*^9, 3.4127134927523537`*^9}, {3.412713533671192*^9, 
   3.412713571475552*^9}, {3.4127155464854765`*^9, 3.412715588035222*^9}, {
   3.4128012636325474`*^9, 3.4128013018775406`*^9}, {3.422205986543717*^9, 
   3.4222060092964334`*^9}, {3.422206078726269*^9, 3.422206112625013*^9}, {
   3.4222061538242545`*^9, 3.4222062346104193`*^9}, {3.4222062799055505`*^9, 
   3.4222062859141903`*^9}, {3.42220632214629*^9, 3.4222063249903793`*^9}, {
   3.422206397965312*^9, 3.422206438343373*^9}, {3.422206480754357*^9, 
   3.422206520311237*^9}, {3.4222066491565075`*^9, 3.4222067128781347`*^9}, {
   3.4222067467268066`*^9, 3.422206780815824*^9}, {3.4222070384963503`*^9, 
   3.4222070511946096`*^9}}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"0.4995225651626715`", ",", 
   RowBox[{"-", "0.7001971007819524`"}]}], "}"}]], "Output",
 CellChangeTimes->{3.440952571606696*^9, 3.440952986853792*^9}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Running the test named: \"\>", "\[InvisibleSpace]", 
   InterpretationBox["\<\"Setup Only works independently for output \
channels...pass\"\>",
    StringForm[
    "`1`...`2`", "Setup Only works independently for output channels", 
     "pass"],
    Editable->False]}],
  SequenceForm["Running the test named: ", 
   StringForm[
   "`1`...`2`", "Setup Only works independently for output channels", 
    "pass"]],
  Editable->False]], "Print",
 CellChangeTimes->{3.4409525716667824`*^9, 3.4409529868638067`*^9}]
}, Open  ]]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell["Reading single samples using setup only - timing", "Subtitle",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.4119228999982977`*^9}, {
   3.411924604809696*^9, 3.411924626110325*^9}, {3.4119246603796015`*^9, 
   3.4119246664883857`*^9}, {3.4122859157203293`*^9, 3.412285978019912*^9}, {
   3.4123596833429613`*^9, 3.4123596836133504`*^9}, {3.412428602496024*^9, 
   3.4124286089853554`*^9}, {3.41242889606816*^9, 3.4124289136434317`*^9}, {
   3.412428991024701*^9, 3.412429000788741*^9}, {3.412429108423512*^9, 
   3.412429180376976*^9}, {3.412429230749408*^9, 3.4124292523905263`*^9}, {
   3.4124293042250605`*^9, 3.412429660867888*^9}, {3.4124297076251216`*^9, 
   3.412429750016077*^9}, {3.412429978474584*^9, 3.4124300574180994`*^9}, {
   3.4124302711253953`*^9, 3.4124302900526114`*^9}, {3.412430324341917*^9, 
   3.4124304634118896`*^9}, {3.412430565428582*^9, 3.4124306957960415`*^9}, {
   3.4124310392499037`*^9, 3.4124310749312115`*^9}, 3.4124312793551583`*^9, {
   3.4124317278300333`*^9, 3.4124317299230433`*^9}, {3.4124318391701326`*^9, 
   3.412431860300517*^9}, {3.412432030945893*^9, 3.4124320699720097`*^9}, {
   3.412432101226952*^9, 3.4124321777970543`*^9}, 3.412532593640395*^9, {
   3.412532663010144*^9, 3.412532687094776*^9}, {3.4127074763011217`*^9, 
   3.41270747991632*^9}, {3.4128014144293823`*^9, 3.412801430572595*^9}}],

Cell[TextData[{
 "The setup only method is preferred if Sample values read into to  ",
 StyleBox["Mathematica",
  FontSlant->"Italic"],
 " one at a time.  It avoids the setup cost."
}], "Text",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.4119228999982977`*^9}, {
   3.411924604809696*^9, 3.411924626110325*^9}, {3.4119246603796015`*^9, 
   3.4119246664883857`*^9}, {3.4122859157203293`*^9, 3.412285978019912*^9}, {
   3.4123596833429613`*^9, 3.4123596836133504`*^9}, {3.412428602496024*^9, 
   3.4124286089853554`*^9}, {3.41242889606816*^9, 3.4124289136434317`*^9}, {
   3.412428991024701*^9, 3.412429000788741*^9}, {3.412429108423512*^9, 
   3.412429180376976*^9}, {3.412429230749408*^9, 3.4124292523905263`*^9}, {
   3.4124293042250605`*^9, 3.412429660867888*^9}, {3.4124297076251216`*^9, 
   3.412429750016077*^9}, {3.412429978474584*^9, 3.4124300574180994`*^9}, {
   3.4124302711253953`*^9, 3.4124302900526114`*^9}, {3.412430324341917*^9, 
   3.4124304634118896`*^9}, {3.412430565428582*^9, 3.4124306957960415`*^9}, {
   3.4124310392499037`*^9, 3.4124310749312115`*^9}, 3.4124312793551583`*^9, {
   3.4124317278300333`*^9, 3.4124317299230433`*^9}, {3.4124318391701326`*^9, 
   3.412431860300517*^9}, {3.412432030945893*^9, 3.4124320699720097`*^9}, {
   3.412432101226952*^9, 3.4124321443589725`*^9}, {3.4124321823736353`*^9, 
   3.4124322490194674`*^9}, {3.412532693754352*^9, 3.4125327303469696`*^9}, {
   3.415133217508785*^9, 3.415133231328657*^9}, {3.422207130108082*^9, 
   3.422207136647485*^9}}],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"OutputWaveform", "[", 
   RowBox[{
    RowBox[{"{", 
     RowBox[{"0", ",", " ", "1"}], "}"}], ",", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"{", "1.23", "}"}], ",", 
      RowBox[{"{", "2.34", "}"}]}], "}"}], ",", "1000.0", ",", "1", ",", 
    RowBox[{"MessageLevel", "\[Rule]", "0"}]}], "]"}], ";"}], "\n", 
 RowBox[{
  RowBox[{"thRead", " ", "=", " ", 
   RowBox[{"GetVoltages", "[", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "3"}], "}"}], ",", "60", ",", "1", ",", 
     RowBox[{"SetupOnly", "\[Rule]", "True"}], ",", " ", 
     RowBox[{"MessageLevel", "\[Rule]", "0"}]}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{"iterations1", "=", "1000"}], ";", " ", 
  RowBox[{"iterations2", " ", "=", " ", "100"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{"t1", " ", "=", " ", 
  RowBox[{
   RowBox[{"Timing", "[", 
    RowBox[{
     RowBox[{"Table", "[", 
      RowBox[{
       RowBox[{"RunTask", "[", "thRead", "]"}], ",", 
       RowBox[{"{", 
        RowBox[{"i", ",", "0", ",", "iterations1"}], "}"}]}], "]"}], ";"}], 
    "]"}], "[", 
   RowBox[{"[", "1", "]"}], "]"}]}], "\[IndentingNewLine]", 
 RowBox[{"RunTask", "[", "thRead", "]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ClearTask", "[", "thRead", "]"}], ";"}], "\n", 
 RowBox[{" ", 
  RowBox[{"t2", " ", "=", " ", 
   RowBox[{
    RowBox[{"Timing", "[", 
     RowBox[{
      RowBox[{"Table", "[", 
       RowBox[{
        RowBox[{"GetVoltages", "[", 
         RowBox[{
          RowBox[{"{", 
           RowBox[{"0", ",", "3"}], "}"}], ",", "60", ",", "1", ",", " ", 
          RowBox[{"IncludeTime", "\[Rule]", "Omit"}]}], "]"}], ",", 
        RowBox[{"{", 
         RowBox[{"i", ",", "0", ",", "iterations2"}], "}"}]}], "]"}], ";"}], 
     "]"}], "[", 
    RowBox[{"[", "1", "]"}], "]"}]}]}], "\[IndentingNewLine]", 
 RowBox[{"GetVoltages", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"0", ",", "3"}], "}"}], ",", "60", ",", "1", ",", " ", 
   RowBox[{"IncludeTime", "\[Rule]", "Omit"}]}], 
  "]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"OutputWaveform", "[", 
   RowBox[{
    RowBox[{"{", 
     RowBox[{"0", ",", " ", "1"}], "}"}], ",", 
    RowBox[{"{", 
     RowBox[{"0", ",", "0"}], "}"}], ",", "1000.0", ",", "1"}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"setupOnlyIPS", "=", " ", 
   RowBox[{
    RowBox[{"iterations1", "/", "t1"}], "//", "N"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ImmediateModeIPS", " ", "=", " ", 
   RowBox[{
    RowBox[{"iterations1", "/", "t2"}], "//", "N"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Print", "[", 
   RowBox[{
   "\"\<Using setupOnly: \>\"", ",", "setupOnlyIPS", " ", ",", 
    "\"\< reads/second\>\""}], "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Print", "[", 
   RowBox[{
   "\"\<Using Immediate mode: \>\"", ",", " ", "ImmediateModeIPS", ",", " ", 
    "\"\< reads/second\>\""}], "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"LogTest`Test", "[", 
   RowBox[{
   "\"\<Setup Only is faster than immediate mode for repeated read\>\"", ",", 
    " ", 
    RowBox[{"setupOnlyIPS", " ", ">", " ", "ImmediateModeIPS"}]}], "]"}], 
  ";"}], "\[IndentingNewLine]"}], "Input",
 InitializationCell->True,
 CellChangeTimes->{{3.4116602379345136`*^9, 3.411660277581523*^9}, {
   3.411660933895256*^9, 3.411660947685085*^9}, {3.4116610125884113`*^9, 
   3.411661060417186*^9}, {3.4116611071543903`*^9, 3.4116611073246355`*^9}, {
   3.4116611662994366`*^9, 3.4116611679918704`*^9}, {3.411661248277315*^9, 
   3.4116612484175167`*^9}, {3.41166129000732*^9, 3.4116613061104755`*^9}, {
   3.411661357404232*^9, 3.4116613767019806`*^9}, 3.411662468832387*^9, {
   3.411919196512947*^9, 3.4119191967833357`*^9}, {3.411919227807947*^9, 
   3.411919228579056*^9}, {3.411919904110422*^9, 3.411919905752784*^9}, {
   3.4119200637900305`*^9, 3.411920131747749*^9}, 3.4119201697924547`*^9, {
   3.4119206063401794`*^9, 3.4119206385565042`*^9}, {3.411922291563411*^9, 
   3.4119223056436577`*^9}, {3.4119225983445406`*^9, 3.411922604202965*^9}, 
   3.411922787596672*^9, {3.4119228298974977`*^9, 3.4119228999982977`*^9}, {
   3.411924604809696*^9, 3.411924626110325*^9}, {3.4119246603796015`*^9, 
   3.4119246664883857`*^9}, {3.4122859157203293`*^9, 3.412285978019912*^9}, {
   3.4123596833429613`*^9, 3.4123596836133504`*^9}, {3.412428602496024*^9, 
   3.4124286089853554`*^9}, {3.41242889606816*^9, 3.4124289136434317`*^9}, {
   3.412428991024701*^9, 3.412429000788741*^9}, {3.412429108423512*^9, 
   3.412429180376976*^9}, {3.412429230749408*^9, 3.4124292523905263`*^9}, {
   3.4124293042250605`*^9, 3.412429660867888*^9}, {3.4124297076251216`*^9, 
   3.412429750016077*^9}, {3.412429978474584*^9, 3.4124300574180994`*^9}, {
   3.4124302711253953`*^9, 3.4124302900526114`*^9}, {3.412430324341917*^9, 
   3.4124304634118896`*^9}, {3.412430565428582*^9, 3.4124306957960415`*^9}, {
   3.4124310392499037`*^9, 3.4124310749312115`*^9}, 3.4124312793551583`*^9, {
   3.4124317278300333`*^9, 3.4124317299230433`*^9}, {3.4124318391701326`*^9, 
   3.412431860300517*^9}, {3.412432030945893*^9, 3.4124320699720097`*^9}, {
   3.412432101226952*^9, 3.4124321443589725`*^9}, {3.412432254216941*^9, 
   3.412432263440203*^9}, {3.4124322971987457`*^9, 3.4124323848447742`*^9}, {
   3.4124324796010275`*^9, 3.4124325178460207`*^9}, {3.4124370597469535`*^9, 
   3.412437061449402*^9}, 3.4124370952179585`*^9, {3.4124371285458813`*^9, 
   3.412437159059758*^9}, {3.4124371891330013`*^9, 3.4124373404205427`*^9}, {
   3.4124373869574594`*^9, 3.4124373925154514`*^9}, {3.412437584761888*^9, 
   3.412437587746179*^9}, {3.412437825648266*^9, 3.412437864293835*^9}, {
   3.41243792796539*^9, 3.4124379396822386`*^9}, {3.4125327608007603`*^9, 
   3.4125327927066383`*^9}, {3.4125329948172593`*^9, 3.4125330146658*^9}, 
   3.4125331532550817`*^9, 3.4127128144970703`*^9, {3.4128013749726467`*^9, 
   3.412801397394888*^9}, {3.4128014488989472`*^9, 3.412801497819291*^9}, {
   3.412801536765293*^9, 3.4128016995193214`*^9}, {3.412801739336576*^9, 
   3.412801861872774*^9}, {3.4151330847578983`*^9, 3.415133088102708*^9}, {
   3.422207093885997*^9, 3.4222071127931843`*^9}, {3.4222071526905537`*^9, 
   3.422207365566654*^9}, {3.422207487331744*^9, 3.422207526998782*^9}, 
   3.422237828635664*^9, 3.4222378640966544`*^9, {3.4222379006392*^9, 
   3.4222379149297485`*^9}, {3.422238055231493*^9, 3.4222380666378946`*^9}, {
   3.422238115167677*^9, 3.4222381472438*^9}, {3.4222381814329615`*^9, 
   3.422238188102552*^9}, {3.422238225486307*^9, 3.4222382258267965`*^9}, 
   3.422238276970338*^9, {3.42223832725264*^9, 3.422238338969488*^9}, 
   3.4222383852460303`*^9, {3.4222392946336656`*^9, 3.422239298539282*^9}, {
   3.422239345506818*^9, 3.422239347639885*^9}}],

Cell[BoxData["0.09999999999999984`"], "Output",
 CellChangeTimes->{3.4409525722676463`*^9, 3.4409529874346275`*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"1.2286348823144733`", ",", "2.339988492587198`"}], "}"}]], "Output",\

 CellChangeTimes->{3.4409525722676463`*^9, 3.4409529874446416`*^9}],

Cell[BoxData["0.27099999999999996`"], "Output",
 CellChangeTimes->{3.4409525722676463`*^9, 3.4409529899181986`*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", "1.2289593649576356`", "}"}], ",", 
   RowBox[{"{", "2.339664009594766`", "}"}]}], "}"}]], "Output",
 CellChangeTimes->{3.4409525722676463`*^9, 3.440952989998314*^9}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Using setupOnly: \"\>", "\[InvisibleSpace]", 
   "10000.000000000016`", "\[InvisibleSpace]", "\<\" reads/second\"\>"}],
  SequenceForm["Using setupOnly: ", 10000.000000000016`, " reads/second"],
  Editable->False]], "Print",
 CellChangeTimes->{3.440952574981549*^9, 3.4409529900884433`*^9}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Using Immediate mode: \"\>", "\[InvisibleSpace]", 
   "3690.0369003690043`", "\[InvisibleSpace]", "\<\" reads/second\"\>"}],
  SequenceForm[
  "Using Immediate mode: ", 3690.0369003690043`, " reads/second"],
  Editable->False]], "Print",
 CellChangeTimes->{3.440952574981549*^9, 3.440952990158544*^9}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Running the test named: \"\>", "\[InvisibleSpace]", 
   InterpretationBox["\<\"Setup Only is faster than immediate mode for \
repeated read...pass\"\>",
    StringForm[
    "`1`...`2`", "Setup Only is faster than immediate mode for repeated read",
      "pass"],
    Editable->False]}],
  SequenceForm["Running the test named: ", 
   StringForm[
   "`1`...`2`", "Setup Only is faster than immediate mode for repeated read", 
    "pass"]],
  Editable->False]], "Print",
 CellChangeTimes->{3.440952574981549*^9, 3.440952990158544*^9}]
}, Open  ]]
}, Closed]],

Cell["Outputing waveform", "Subtitle",
 CellChangeTimes->{{3.4119201802975597`*^9, 3.4119201929757905`*^9}, {
  3.411920247243824*^9, 3.4119202474340973`*^9}, {3.411920376649901*^9, 
  3.4119203774210095`*^9}, {3.4119204167075005`*^9, 3.41192045134731*^9}, {
  3.4119229734739504`*^9, 3.4119230023654947`*^9}}],

Cell[TextData[{
 "With contiunous waveforms you must save the task so that you can stop the \
task later! The pasue statement is necessary whern running commands semms to \
be related to the ",
 StyleBox["output frequency when output a single sample!  Fix this!!",
  FontFamily->"Times New Roman",
  FontSize->16,
  FontWeight->"Bold"],
 StyleBox[".",
  FontSize->16,
  FontWeight->"Bold"]
}], "Text",
 CellChangeTimes->{{3.4128019157602606`*^9, 3.4128021101497793`*^9}, {
  3.422239045104861*^9, 3.422239092452944*^9}, {3.4222395393555584`*^9, 
  3.4222395803645267`*^9}, {3.42223962536924*^9, 3.4222396273520913`*^9}}],

Cell["Output single channel waveform", "Subsubtitle",
 InitializationCell->True,
 CellChangeTimes->{{3.4128019157602606`*^9, 3.412801996826829*^9}, {
   3.412802127765109*^9, 3.41280215744779*^9}, {3.4128023160358286`*^9, 
   3.4128023168469954`*^9}, {3.412802988402645*^9, 3.41280301035421*^9}, {
   3.412803041498994*^9, 3.4128031074838753`*^9}, {3.412803149614456*^9, 
   3.412803184094035*^9}, 3.412803230310491*^9, 3.412803273102022*^9, {
   3.415133266979921*^9, 3.415133317091978*^9}, {3.4151333641396294`*^9, 
   3.415133388254305*^9}, 3.415133420831148*^9, {3.4151335042711287`*^9, 
   3.41513380101783*^9}, {3.415133843779318*^9, 3.4151338844578104`*^9}, {
   3.415133926578377*^9, 3.4151339288216023`*^9}, {3.415134009808055*^9, 
   3.4151340409628534`*^9}, {3.4165837467578096`*^9, 3.4165837602972784`*^9}, 
   3.4222076344332657`*^9, {3.4222077285886545`*^9, 3.4222077403055024`*^9}, 
   3.422236684320219*^9, 3.4222367186595964`*^9}],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{"Pause", "[", ".1", "]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"numPts", " ", "=", "200"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"offset", " ", "=", " ", "1.5"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"data", " ", "=", " ", 
   RowBox[{"Table", "[", 
    RowBox[{
     RowBox[{
      RowBox[{"Sin", "[", 
       RowBox[{"x", "+", "offset"}], "]"}], "//", "N"}], ",", 
     RowBox[{"{", 
      RowBox[{"x", ",", "0", ",", 
       RowBox[{
        RowBox[{"2", "*", " ", "Pi"}], "-", 
        RowBox[{"2", "*", 
         RowBox[{"Pi", "/", "numPts"}]}]}], ",", 
       RowBox[{"2", "*", 
        RowBox[{"Pi", "/", "numPts"}]}]}], "}"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"freqWritePts", "=", "1500.0"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"freqWave", " ", "=", " ", 
   RowBox[{"freqWritePts", "/", "numPts"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"freqReadPts", " ", "=", "2000.0"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ii", "=", "0"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"dataForPlot", "=", 
   RowBox[{"Table", "[", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{
       RowBox[{
        RowBox[{"ii", "++"}], "/", "freqWritePts"}], ",", "p"}], "}"}], ",", 
     " ", 
     RowBox[{"{", 
      RowBox[{"p", ",", "data"}], "}"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"th", " ", "=", " ", 
   RowBox[{"OutputWaveform", "[", 
    RowBox[{
     RowBox[{"{", "0", "}"}], ",", "data", ",", " ", "freqWritePts", ",", "1",
      ",", 
     RowBox[{"SampleMode", " ", "\[Rule]", " ", "Continuous"}], ",", 
     RowBox[{"TransferMechanism", " ", "\[Rule]", " ", "Interrupts"}], ",", 
     RowBox[{"MessageLevel", " ", "\[Rule]", "0"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"answer", " ", "=", " ", 
   RowBox[{"GetVoltages", "[", 
    RowBox[{
     RowBox[{"{", "0", "}"}], ",", "freqReadPts", ",", "250", ",", 
     RowBox[{"MessageLevel", "\[Rule]", "0"}], ",", 
     RowBox[{"TransferMechanism", " ", "\[Rule]", " ", "DMA"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{"ListPlot", "[", 
  RowBox[{"answer", ",", 
   RowBox[{"Joined", "\[Rule]", "False"}]}], "]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"ClearTask", "[", "th", "]"}], ";"}], "\[IndentingNewLine]", 
  RowBox[{"(*", " ", 
   RowBox[{
   "To", " ", "check", " ", "the", " ", "waveform", " ", "read", " ", "it", 
    " ", "in", " ", "and", " ", "see", " ", "that", " ", "it", " ", "is", " ",
     "sine", " ", "wave", " ", "of", " ", "correct", " ", 
    RowBox[{"frequency", ".", "\n", 
     RowBox[{"Note", ":", " ", 
      RowBox[{
       StyleBox["Mathematica",
        FontSlant->"Italic"], " ", "Fit", " ", "and", " ", "FindFit", " ", 
       "crashed", " ", "and", " ", "cause", " ", "kernel", " ", "to", " ", 
       "exit", " ", "when", " ", 
       RowBox[{"run", "."}]}]}]}]}], " ", "*)"}]}], "\n", 
 RowBox[{
  RowBox[{"ff", "[", 
   RowBox[{"x_", ",", "B_", ",", "p2_"}], "]"}], ":=", " ", 
  RowBox[{"If", "[", 
   RowBox[{
    RowBox[{
     RowBox[{"answer", "[", 
      RowBox[{"[", 
       RowBox[{"1", ",", "2"}], "]"}], "]"}], " ", "<", " ", 
     RowBox[{"answer", "[", 
      RowBox[{"[", 
       RowBox[{"p2", ",", "2"}], "]"}], "]"}]}], ",", " ", 
    RowBox[{"Sin", "[", 
     RowBox[{
      RowBox[{"2", "*", "Pi", "*", "freqWave", "*", "x"}], " ", "+", "B"}], 
     "]"}], ",", "\[IndentingNewLine]", 
    RowBox[{"-", 
     RowBox[{"Sin", "[", 
      RowBox[{
       RowBox[{"2", "*", "Pi", "*", "freqWave", "*", "x"}], " ", "-", "B"}], 
      "]"}]}]}], "]"}]}], "\[IndentingNewLine]", 
 RowBox[{"pt2", " ", "=", " ", 
  RowBox[{"If", "[", 
   RowBox[{
    RowBox[{"freqReadPts", " ", "<", " ", "freqWritePts"}], ",", "1", ",", 
    RowBox[{"Round", "[", 
     RowBox[{
      RowBox[{"freqReadPts", "/", "freqWritePts"}], "+", "2"}], "]"}]}], 
   "]"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"B", " ", "=", " ", 
   RowBox[{"ArcSin", "[", 
    RowBox[{"answer", "[", 
     RowBox[{"[", 
      RowBox[{"1", ",", "2"}], "]"}], "]"}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Plot", "[", 
   RowBox[{
    RowBox[{"ff", "[", 
     RowBox[{"x", ",", "B", ",", "pt2"}], "]"}], ",", 
    RowBox[{"{", 
     RowBox[{"x", ",", 
      RowBox[{"answer", "[", 
       RowBox[{"[", 
        RowBox[{"1", ",", "1"}], "]"}], "]"}], ",", 
      RowBox[{"answer", "[", 
       RowBox[{"[", 
        RowBox[{
         RowBox[{"-", "1"}], ",", "1"}], "]"}], "]"}]}], "}"}]}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ListPlot", "[", "answer", "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{"Show", "[", 
  RowBox[{"%", ",", "%%"}], "]"}], "\[IndentingNewLine]", 
 RowBox[{"aveErr", "  ", "=", 
  RowBox[{
   RowBox[{"Total", "[", 
    RowBox[{"Table", "[", 
     RowBox[{
      RowBox[{"Abs", "[", 
       RowBox[{
        RowBox[{"ff", "[", 
         RowBox[{
          RowBox[{"x", "[", 
           RowBox[{"[", "1", "]"}], "]"}], ",", "B", ",", "pt2"}], "]"}], " ",
         "-", " ", 
        RowBox[{"x", "[", 
         RowBox[{"[", "2", "]"}], "]"}]}], "]"}], ",", 
      RowBox[{"{", 
       RowBox[{"x", ",", "answer"}], "}"}]}], "]"}], "]"}], "/", 
   RowBox[{"Length", "[", "answer", "]"}]}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"LogTest`Test", "[", 
   RowBox[{"\"\<Outputing waveform single channel\>\"", ",", " ", 
    RowBox[{"aveErr", " ", "<", " ", ".05"}]}], "]"}], ";"}]}], "Input",
 InitializationCell->True,
 CellChangeTimes->{{3.4128019157602606`*^9, 3.412801996826829*^9}, {
   3.412802127765109*^9, 3.41280215744779*^9}, {3.4128023160358286`*^9, 
   3.4128023168469954`*^9}, {3.412802988402645*^9, 3.41280301035421*^9}, {
   3.412803041498994*^9, 3.4128031074838753`*^9}, {3.412803149614456*^9, 
   3.412803184094035*^9}, 3.412803230310491*^9, 3.412803273102022*^9, {
   3.415133266979921*^9, 3.415133317091978*^9}, {3.4151333641396294`*^9, 
   3.415133388254305*^9}, 3.415133420831148*^9, {3.4151335042711287`*^9, 
   3.41513380101783*^9}, {3.415133843779318*^9, 3.4151338844578104`*^9}, {
   3.415133926578377*^9, 3.4151339288216023`*^9}, {3.415134009808055*^9, 
   3.4151340409628534`*^9}, {3.4165837467578096`*^9, 3.4165837602972784`*^9}, 
   3.4222076344332657`*^9, {3.4222077285886545`*^9, 3.4222077403055024`*^9}, 
   3.422236684320219*^9, 3.4222367186595964`*^9, 3.422236757715757*^9, 
   3.422237080509912*^9, {3.4222371604248238`*^9, 3.4222371605650253`*^9}, 
   3.422237575471632*^9, {3.422238649235629*^9, 3.422238654573304*^9}, {
   3.4222387956161137`*^9, 3.4222387965975246`*^9}, {3.4222388659772882`*^9, 
   3.422238876392264*^9}, 3.422238924441355*^9, {3.422238998758218*^9, 
   3.422238999078678*^9}, {3.4222392764475155`*^9, 3.4222392774088974`*^9}, {
   3.422239636084648*^9, 3.4222396365453105`*^9}}],

Cell[BoxData["\<\"continuous output should be happening!\"\>"], "Print",
 CellChangeTimes->{3.4409525753520813`*^9, 3.440952990499034*^9}],

Cell[BoxData[
 GraphicsBox[{{}, 
   {Hue[0.67, 0.6, 0.6], PointBox[CompressedData["
1:eJxFVwlYTXkfTp+pkFCWlhlUipAmfQZZXk01RQpjbFnKkqVsk5DUkMLYJkSJ
0L6nfV/+tEnJtGlRab2t994jkn3mu+f8z1fneXp63ufW7/6Wd7lXfdeRX+2k
paSkPkt+2N//f5a/fHBtsPUF+RrZX2m5awVsL9f+tNemgsdrUS8/OF1jfRX5
/Id9tpP3ZuhvCNGusKziX7eFrXWXWt9PL8npiY/MWl32YFnZfzQUx9fyf78f
vy0z0rgsriOnerT15WIO4tb21slzP9Xx/38Urz6s1ZAue0WWNq+55nvYEZYG
vrp1AY18PScoe51eY2/zmmSulJeec/HEEKb1nSG1uiglbEILMUwuPpH70AVj
Y46uNBO38O/ninT1O3bivFaSPvV837r0P1D+WGCD4lb+/c/iuJWUa6d/G/Ev
mB7vuN8d3xSOB/ftbef7OYfPOt7lD+d0kIZP7Bt6QHqbjLmfQQffnydGOKsd
t/zYQdT0mmbIuJ+HtFLqbLkUAd/vBZzJ/yb4/WAnsd6zRFLx4hCm/f8JUZTd
VE/tLnLXj30u4Tu7H3cNvOzi57mMEVrn5zm4dZP6Fx/Wt4deQbiRTUKeSzc/
31V8loXMCtUeojJyo4Ju4jU05BvV2WX38PP+hQZhVErP+l6yeTFb0AuD+22y
7lj18vNfh2OZXohLQy9ZvfCSka3gOuwV68cl2/Xx+7iB1Sd7L1gI+ohwHVvx
BvZOeXj1c3Mfv5+byNr/8qzhLiG5crDrS2T/TWRO17lwsVrI78sbBrOC5NxW
isici5MlI3gjTU//hoeRiN/fLRgcDgpvChaR0kDT1HffbuHUquL8Tikxv8/b
UNV32z+4QUwcJMWUR/rgZF2Q4MFmMb9fHxjMe3JbPlhMRtcGH1022he3jb7L
13gj5vfti+bTg5dWazEkih13/J0hTPd/B41TDSye2jBkFVtush9azybd/XCV
4e/hBzdxnuO8RIb0suv+/i723etmapIZ/j534Wq7s8rhb4aw2yvXuIexuq9S
pXoZ/l73YObjM8viA0N0tnnlvZ/lj1NdR6ODBhj+fv6YbZod+u4TQ55Jqqnq
3YfGQKuG/1eGv+d9qFzWSljHMOTADZErFjwYwvS+D6CocQCybQyRNCcZ+SFG
fQvZqZ7H8Pd+COe2Fo8lQQz5TdJMwfSAIUzvH4Dg54ZpuxwZEiLZXm1wAK46
Ze6bb8rwfAhA5/lgTduxDBn4Vu3cox0IU71nAXLjGZ4fgTCxLT9kXCwmJhwB
AjEtcW++p7OY50sgGrM1fA7PEZNbyuxAQRi7x1xpyjwxz58g6Ncd6t9RIyJc
e/FBiAz7+mqkk4jnUxBKY+3MpMeJiAH3BKNn5IqSLfIinl/BOOEqLJC/KyQe
j0skDAqGUqPjz1O0hDzfgpFx86L5rIg+UiW5/ubFIUOY8i8Ehmtm10Kzj2hy
BUMQGW0t3u7Ty/MxBO5pu/+skuklx/azBwgdwpSfoegMrdINP9hD8t/Pklw4
FHK73tfplHXzfA3D+G1B8kla3USJazAMnb8UX9o6q5vnbxhq/CxWLP2ji7Dd
JReHYYtPyCmnik6ez+HwIaJfJih2ksT7THiRxTCm/A6HaoGrwr+bBESaGzgc
h/0dWld5d/B8j4By4pyF4tJ28itHmAg4LP0u0/RZO8//CHxRHzXaULadBLHj
VkdArqLsaK9eG6+HSMhp2li/3dBK3rLlNkdCWxjzm/HWVl4fkXjzdlPWO48W
8jNL/4ZIOLjHWY80aeb1EoVFz5eblLs0kZssfXdEYcb9xkWO55t4/UQhpCBS
1z+hgbS6sAeJwsZV4sn7u+t5PUUjNsX5+4cj64g+R/BhTPUVjYp2p8nOc2qI
+21jCWWiwdxbrb7j52pebzF4NV88x2RLJanQYA8cA49FK7Rv76jk9RcDY7uR
S+vty4k663aiGETrTwo2FD/n9RiLWuWAsjyZZ+R3Vh5HY9E34mPd9K/FvD5j
4VOxVkF2dCF5wtLvXSz0BSrGoilPeL0+gqf0PXGYRSaZwAnyEUrkutWmqWfy
+n2EY/MVPfqWJhJufZ8eYdCt/8Ja2RBez3HY4D5zReiXs4RrzzUOO73NrhSE
uvP6joNJlM1UtRxf0DSPR2t6cOlAWDSo3uNRk7K1bkFbCiKKLCSKjoen8pLo
HPlUUP3Hw17TcXX/mxyslahR0SMeyRnPNziPzgf1g3gc27jc4E1/ET6yblYw
jKk/xMO7MfP7ohclCFBlBZEAzwALgXvpC1C/SIDcKL821y0VMOcOPIypfyRA
745PXZdZFd6Esw0mwHreEYGC+ktQP0mApXlsTcnEWtyRdPe4JAGzl5k1nhpX
C+ovCShS2d7RL6rDigU7JJJKhPL8U2+Vn74C9ZtEMAVFEyyvN6L7CzvwMKb+
k4gN0eu1Nfe8BsuWbV6JGD3h7pxEhRbQ9SXCJ0LGLKq7Bdy45YlwMPZbvaW9
BdSfEqGZcFjwibSCK6eYhDxVoxFv/dpA/SoJNkrZ8VY728HZ0fokjAkc0P2w
ux3Uv5IwU7HG+qtuB2jcJUHP3/Fa/NsOUD9Lwmu/X0vzYgTg7KA2CUnvrpo7
xAlA/S0JC/Tk3V8c7sQZVs7KyZg3UFzgpdkF6nfJ2Pv24/VN5V2YyQkoGXIN
2UpxZV2g/peM3JbxLSdcuvE3F1fJiBVuMhxQ6QH1w2TYnza+Oz25BydZOTQN
Y+qPyQj/ouAWYtGLaSydp6ZAZX5G25mWXlC/TIFOTGED2dWHpyz9bIcx9c8U
uJzW2S7T1Icj7HkDU3B/onr9/W1CUD9NwY+759p6VwgxhRP8MKb+moom+4tH
vJaLQNj2ZqSiQuqop2GYCNRvU9H3X/+5q76IsG8v+wxj6r+p6LGorN6yVgw2
bJnwVJyV++uccoAY1I9TUWp5Jb2pSwzWHZ17UmHebb5kgUAM6s9pEOY/PRE5
k8EOrmAaMqqdTc9tYkD9Og2nlXUnbr3IQIYzqDSsVw9XGX2OAfXvNESrqDkY
xjFgrzHxURqeSGet+fsZA+rnabh3Szktq5UB92mAGcbU39OxZusBHRmGwT+s
3PTTMUbzjeamAQbU74dxGEtnx3SQywaB/w4yoP6fjsL7bfNSehhYcQNLXt84
Jk+llgHNg3QcENs3eWYzGGTP8T4d6zb01758woDmQwZuWJv+88CfwQN23IUZ
kIvy0is6yIDmRQZ+6Jz2+jYY/MItcBjT/MhAaVWEb74sAzEbD5kZyOuZu21N
oRg0TzKwRdFA+7KbGD6svX/JQPP4/ohWFzFovmQibb2Th46mGMu5g2RC6oxx
g8oLEWjeZKJyXe1j4iBCJ2uvf2Ti2ImGlJ0nRKD5k4l674U6OTIicPb3OBMR
x0L8lX2FoHmUCXejoEmaGkJw9iKdhRDVtpulM4Sg+ZSFMZ7JfleC+sDJ1zgL
B9TU7vlr9YHmVRaMFYISD3j3gpPH+Sx89du94Mn1XtD8ysK4ayYlP43oBUe/
oiwoD6y0H72vBzTPsqB6/t24a0+78ZI9r1z2EKb5lo3UiSZZuRrdcOM6zMbF
M8sPPnTuAs27bFyIEGjoPeuEFkfAbHjZR4VeKOoEzb9sOJxc2nxoYifKnrNP
NmSvbo/JWCMAzcNsxFkJBmOvdeC4N2uoORhVONVp4/UO0HzMgallRe6qF+34
gSN0DlbOve078E8baF7mwGPnunfv57ahkPs6kYN/c1VOWM5uA83PHOwZkKm0
2tyKQ6ydVuZASmnV4kenW0DzNActPZPMShY1YxInkFyYOLsbqS1vBs3XXAj9
D0y+dKYJOawdbMxFM6MonRTdAJq3uVC6pCNurK2HHfd1YBhTeeQit65JsOdT
LTg61+dio0dJ5V9aNaB5nAurk1drnJZWg6OLKsGExbMaNRdWg+YzwfnwzS2j
rCrBnWMbwee6G70PbMpB85pAdm7k+8La56Af54cxbY/ggqyxRoygGFy5ZoJQ
P53FNXKF+B8nngWx
     "]]}, {}},
  AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948],
  Axes->True,
  AxesOrigin->{0, 0},
  PlotRange->{{0., 0.1245}, {-0.9995861703206439, 0.9989011906112281}},
  PlotRangeClipping->True,
  PlotRangePadding->{
    Scaled[0.02], 
    Scaled[0.02]}]], "Output",
 CellChangeTimes->{3.4409525756124563`*^9, 3.440952990789451*^9}],

Cell[BoxData["3"], "Output",
 CellChangeTimes->{3.4409525756124563`*^9, 3.440952990889595*^9}],

Cell[BoxData[
 GraphicsBox[{
   {Hue[0.67, 0.6, 0.6], PointBox[CompressedData["
1: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
P53FNXKF+B8nngWx
     "]]}, {{}, {}, 
    {Hue[0.67, 0.6, 0.6], LineBox[CompressedData["
1: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
a4T/Ad7IvMA=
      "]]}}},
  AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948],
  Axes->True,
  PlotRange->Automatic,
  PlotRangeClipping->True]], "Output",
 CellChangeTimes->{3.4409525756124563`*^9, 3.440952991129941*^9}],

Cell[BoxData["0.004940779485667266`"], "Output",
 CellChangeTimes->{3.4409525756124563`*^9, 3.440952991169998*^9}],

Cell[BoxData[
 InterpretationBox[
  RowBox[{"\<\"Running the test named: \"\>", "\[InvisibleSpace]", 
   InterpretationBox["\<\"Outputing waveform single channel...pass\"\>",
    StringForm["`1`...`2`", "Outputing waveform single channel", "pass"],
    Editable->False]}],
  SequenceForm["Running the test named: ", 
   StringForm["`1`...`2`", "Outputing waveform single channel", "pass"]],
  Editable->False]], "Print",
 CellChangeTimes->{3.4409525753520813`*^9, 3.440952991169998*^9}]
}, Open  ]],

Cell[BoxData[{
 RowBox[{
  RowBox[{"data", " ", "=", " ", 
   RowBox[{"Table", "[", 
    RowBox[{
     RowBox[{
      RowBox[{"Sin", "[", "x", "]"}], "//", "N"}], ",", 
     RowBox[{"{", 
      RowBox[{"x", ",", "0", ",", 
       RowBox[{"2", "*", " ", "Pi"}], ",", 
       RowBox[{"2", "*", 
        RowBox[{"Pi", "/", "100"}]}]}], "}"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"freqOut", "=", "1000.0"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ii", "=", "0"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"dataForPlot", "=", 
   RowBox[{"Table", "[", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{
       RowBox[{
        RowBox[{"ii", "++"}], "/", "freqOut"}], ",", "p"}], "}"}], ",", " ", 
     RowBox[{"{", 
      RowBox[{"p", ",", "data"}], "}"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{"th", " ", "=", " ", 
  RowBox[{"OutputWaveform", "[", 
   RowBox[{
    RowBox[{"{", "0", "}"}], ",", "data", ",", " ", "freqOut", ",", "3", ",", 
    
    RowBox[{"SampleMode", " ", "\[Rule]", "Continuous"}], ",", 
    RowBox[{"TransferMechanism", " ", "\[Rule]", " ", "DMA"}], ",", 
    RowBox[{"MessageLevel", " ", "\[Rule]", "0"}]}], "]"}]}]}], "Input",
 CellChangeTimes->{{3.4128019157602606`*^9, 3.412801996826829*^9}, {
   3.412802127765109*^9, 3.41280215744779*^9}, {3.4128023160358286`*^9, 
   3.4128023168469954`*^9}, {3.412802988402645*^9, 3.41280301035421*^9}, {
   3.412803041498994*^9, 3.4128031074838753`*^9}, {3.412803149614456*^9, 
   3.412803184094035*^9}, 3.412803230310491*^9, 3.412803273102022*^9, {
   3.415133266979921*^9, 3.415133317091978*^9}, {3.4151333641396294`*^9, 
   3.415133388254305*^9}, 3.415133420831148*^9, {3.4151335042711287`*^9, 
   3.41513380101783*^9}, {3.415133843779318*^9, 3.4151338844578104`*^9}, {
   3.415133926578377*^9, 3.4151339288216023`*^9}, {3.415134009808055*^9, 
   3.4151340409628534`*^9}, {3.4165837467578096`*^9, 3.4165837602972784`*^9}, 
   3.416583798311941*^9, 3.416583847162184*^9, {3.416583936991352*^9, 
   3.4165839921106095`*^9}, {3.4172738395316753`*^9, 3.417273840282755*^9}, {
   3.417274383453797*^9, 3.4172743857871523`*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{"answer", " ", "=", " ", 
   RowBox[{"GetVoltages", "[", 
    RowBox[{
     RowBox[{"{", "0", "}"}], ",", "10000.0", ",", "1000", ",", 
     RowBox[{"MessageLevel", "\[Rule]", "0"}], ",", 
     RowBox[{"TransferMechanism", " ", "\[Rule]", " ", "Interrupts"}]}], 
    "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{"ListPlot", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"dataForPlot", ",", "answer"}], "}"}], ",", 
   RowBox[{"Joined", "\[Rule]", "False"}]}], "]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ClearTask", "[", "th", "]"}], ";"}]}], "Input",
 CellChangeTimes->{{3.4128019157602606`*^9, 3.412801996826829*^9}, {
   3.412802127765109*^9, 3.41280215744779*^9}, {3.4128023160358286`*^9, 
   3.4128023168469954`*^9}, {3.412802988402645*^9, 3.41280301035421*^9}, {
   3.412803041498994*^9, 3.4128031074838753`*^9}, {3.412803149614456*^9, 
   3.412803184094035*^9}, 3.412803230310491*^9, 3.412803273102022*^9, {
   3.415133266979921*^9, 3.415133317091978*^9}, {3.4151333641396294`*^9, 
   3.415133388254305*^9}, 3.415133420831148*^9, {3.4151335042711287`*^9, 
   3.41513380101783*^9}, {3.415133843779318*^9, 3.4151338844578104`*^9}, {
   3.415133926578377*^9, 3.4151339288216023`*^9}, {3.415134009808055*^9, 
   3.4151340409628534`*^9}, {3.4165837467578096`*^9, 3.4165837602972784`*^9}, 
   3.416583798311941*^9, 3.416583847162184*^9}],

Cell[BoxData[""], "Input",
 CellChangeTimes->{{3.4128019157602606`*^9, 3.412801950269883*^9}, {
   3.4128022228217936`*^9, 3.412802226416963*^9}, 3.4128034159974957`*^9}],

Cell[BoxData[{
 RowBox[{
  RowBox[{"data", " ", "=", " ", 
   RowBox[{"Transpose", "[", 
    RowBox[{"Table", "[", 
     RowBox[{
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         RowBox[{"Sin", "[", "x", "]"}], ",", 
         RowBox[{"Cos", "[", "x", "]"}]}], "}"}], "//", "N"}], ",", 
      RowBox[{"{", 
       RowBox[{"x", ",", "0", ",", 
        RowBox[{"2", "*", " ", "Pi"}], ",", ".1"}], "}"}]}], "]"}], "]"}]}], 
  ";"}], "\n", 
 RowBox[{
  RowBox[{"th", " ", "=", " ", 
   RowBox[{"OutputWaveform", "[", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "1"}], "}"}], ",", "data", ",", " ", "5000.0", ",", 
     "1", ",", 
     RowBox[{"SampleMode", " ", "\[Rule]", " ", "Continuous"}], ",", 
     RowBox[{"TransferMechanism", " ", "\[Rule]", " ", "Interrupts"}], ",", 
     RowBox[{"MessageLevel", " ", "\[Rule]", "0"}]}], "]"}]}], ";"}], "\n", 
 RowBox[{"ListPlot", "[", 
  RowBox[{
   RowBox[{"GetVoltages", "[", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "3"}], "}"}], ",", "10000.0", ",", "1000", ",", 
     RowBox[{"MessageLevel", "\[Rule]", "0"}], ",", 
     RowBox[{"TransferMechanism", " ", "\[Rule]", " ", "Interrupts"}]}], 
    "]"}], ",", 
   RowBox[{"Joined", "\[Rule]", "True"}], ",", 
   RowBox[{"Mesh", "\[Rule]", "All"}]}], "]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ClearTask", "[", "th", "]"}], ";"}]}], "Input",
 CellChangeTimes->{{3.4128019157602606`*^9, 3.412801950269883*^9}, {
   3.4128022228217936`*^9, 3.412802226416963*^9}, {3.4128022960270576`*^9, 
   3.412802365116403*^9}, {3.41280239629123*^9, 3.4128023965616193`*^9}, {
   3.412802436258701*^9, 3.4128024870717664`*^9}, 3.412802702040877*^9, {
   3.4128033073612847`*^9, 3.412803335331504*^9}, {3.4128033876667585`*^9, 
   3.4128033942962914`*^9}, {3.4128035128467584`*^9, 3.412803560705576*^9}, 
   3.4128036196703634`*^9}],

Cell[BoxData[""], "Input",
 CellChangeTimes->{{3.4128019157602606`*^9, 3.412801950269883*^9}, {
   3.4128022228217936`*^9, 3.412802226416963*^9}, {3.4128022960270576`*^9, 
   3.412802365116403*^9}, {3.41280239629123*^9, 3.4128023965616193`*^9}, 
   3.412802436258701*^9, {3.412802518126421*^9, 3.412802541920635*^9}, {
   3.412802730261456*^9, 3.41280273345605*^9}, 3.412803445129386*^9}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"(*", " ", 
   RowBox[{
   "hmm", " ", "not", " ", "sure", " ", "if", " ", "it", " ", "is", " ", 
    "possible", " ", "to", " ", "have", " ", "two", " ", "independent", " ", 
    "output", " ", "channels", " ", "in", " ", "separate", " ", "continuous", 
    " ", "mode", " ", "should", " ", "be", " ", "possible"}], " ", "*)"}], 
  "\[IndentingNewLine]", 
  RowBox[{
   RowBox[{
    RowBox[{"data", " ", "=", " ", 
     RowBox[{"Transpose", "[", 
      RowBox[{"Table", "[", 
       RowBox[{
        RowBox[{
         RowBox[{"{", 
          RowBox[{
           RowBox[{"Sin", "[", "x", "]"}], ",", 
           RowBox[{"Cos", "[", "x", "]"}]}], "}"}], "//", "N"}], ",", 
        RowBox[{"{", 
         RowBox[{"x", ",", "0", ",", 
          RowBox[{"2", "*", " ", "Pi"}], ",", ".1"}], "}"}]}], "]"}], "]"}]}],
     ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"th1", " ", "=", " ", 
     RowBox[{"OutputWaveform", "[", 
      RowBox[{
       RowBox[{"{", "0", "}"}], ",", 
       RowBox[{"data", "[", 
        RowBox[{"[", "1", "]"}], "]"}], ",", " ", "1000.0", ",", "1", ",", 
       RowBox[{"SampleMode", " ", "\[Rule]", " ", "Continuous"}], ",", 
       RowBox[{"TransferMechanism", " ", "\[Rule]", " ", "DMA"}], ",", 
       RowBox[{"MessageLevel", " ", "\[Rule]", "1"}]}], "]"}]}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"th2", " ", "=", " ", 
     RowBox[{"OutputWaveform", "[", 
      RowBox[{
       RowBox[{"{", "1", "}"}], ",", 
       RowBox[{"data", "[", 
        RowBox[{"[", "2", "]"}], "]"}], ",", " ", "1000.0", ",", "1", ",", 
       RowBox[{"SampleMode", " ", "\[Rule]", " ", "Continuous"}], ",", 
       RowBox[{"TransferMechanism", " ", "\[Rule]", " ", "Interrupts"}], ",", 
       
       RowBox[{"MessageLevel", " ", "\[Rule]", "1"}]}], "]"}]}], 
    ";"}]}]}]], "Input",
 CellChangeTimes->{{3.4128019157602606`*^9, 3.412801950269883*^9}, {
   3.4128022228217936`*^9, 3.412802226416963*^9}, {3.4128022960270576`*^9, 
   3.412802365116403*^9}, {3.41280239629123*^9, 3.4128023965616193`*^9}, 
   3.412802436258701*^9, {3.412802518126421*^9, 3.412802541920635*^9}, {
   3.412802730261456*^9, 3.4128028273610783`*^9}, {3.4128028837221217`*^9, 
   3.4128028838623233`*^9}, {3.412805517339077*^9, 3.412805522957155*^9}, {
   3.4128066766260495`*^9, 3.4128066919180384`*^9}, {3.4128067481689234`*^9, 
   3.4128067534364977`*^9}, {3.412806795607136*^9, 3.412806828153936*^9}, {
   3.412806946474072*^9, 3.4128069488675137`*^9}, {3.4128070686297235`*^9, 
   3.412807114645891*^9}, {3.412807409239496*^9, 3.4128074681341825`*^9}}],

Cell[BoxData[{
 RowBox[{"ClearTask", "[", "th2", "]"}], "\[IndentingNewLine]", 
 RowBox[{"ClearTask", "[", "th1", "]"}]}], "Input",
 CellChangeTimes->{{3.4128019157602606`*^9, 3.412801950269883*^9}, {
   3.4128022228217936`*^9, 3.412802226416963*^9}, {3.4128022960270576`*^9, 
   3.412802365116403*^9}, {3.41280239629123*^9, 3.4128023965616193`*^9}, 
   3.412802436258701*^9, {3.412802518126421*^9, 3.412802541920635*^9}, {
   3.412802730261456*^9, 3.4128028273610783`*^9}, {3.4128028837221217`*^9, 
   3.4128028838623233`*^9}, {3.412805517339077*^9, 3.412805522957155*^9}, {
   3.4128066766260495`*^9, 3.4128066919180384`*^9}, {3.4128067481689234`*^9, 
   3.4128067534364977`*^9}, 3.412806795607136*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell["Check the VISA serial port", "Subtitle",
 CellChangeTimes->{{3.411923030345728*^9, 3.4119230576249533`*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{"listforcall", "=", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"\"\<messageToSend\>\"", ",", "\"\<Hello World\\a more\>\""}], 
      "}"}], ",", 
     RowBox[{"{", 
      RowBox[{"\"\<listenForReply\>\"", ",", "1"}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{"\"\<messagelevel\>\"", ",", "0"}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{"\"\<timeout\>\"", ",", "0.30"}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{"\"\<timeoutIsErr\>\"", ",", "0"}], "}"}], ",", " ", 
     RowBox[{"{", 
      RowBox[{"\"\<charsToRead\>\"", ",", "30"}], "}"}], ",", " ", 
     RowBox[{"{", 
      RowBox[{"\"\<terminationChar\>\"", ",", "\"\<\\a\>\""}], "}"}]}], 
    "}"}]}], ";"}], "\n", 
 RowBox[{"SerialPortCommunicateCpp", "[", "listforcall", "]"}]}], "Input",
 CellChangeTimes->{{3.411923030345728*^9, 3.411923032829299*^9}}]
}, Open  ]],

Cell[CellGroupData[{

Cell["Tests in progress", "Subtitle",
 CellChangeTimes->{
  3.411924712594683*^9, {3.41229635789544*^9, 3.4122963953292675`*^9}, {
   3.4122965174048033`*^9, 3.4122965205593395`*^9}, {3.4122965533364706`*^9, 
   3.4122965590747213`*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{"OutputWaveform", "[", 
   RowBox[{
    RowBox[{"{", "0", "}"}], ",", 
    RowBox[{"{", "0.234", "}"}], ",", "1", ",", "1"}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"OutputWaveform", "[", 
   RowBox[{
    RowBox[{"{", "1", "}"}], ",", 
    RowBox[{"{", "1.1", "}"}], ",", "1", ",", "1"}], "]"}], ";"}]}], "Input",
 CellChangeTimes->{
  3.411924712594683*^9, {3.41229635789544*^9, 3.4122963953292675`*^9}, {
   3.4122965174048033`*^9, 3.4122965205593395`*^9}, {3.4122965835098577`*^9, 
   3.412296601275403*^9}}],

Cell[BoxData[{
 RowBox[{"GetVoltages", "[", 
  RowBox[{
   RowBox[{"{", "0", "}"}], ",", "50", ",", "5", ",", 
   RowBox[{"IncludeTime", "->", "Omit"}]}], "]"}], "\[IndentingNewLine]", 
 RowBox[{"GetVoltages", "[", 
  RowBox[{
   RowBox[{"{", "0", "}"}], ",", "50", ",", "1", ",", 
   RowBox[{"IncludeTime", "->", "Omit"}]}], "]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"GetVoltages", "[", 
   RowBox[{
    RowBox[{"{", "3", "}"}], ",", "50", ",", "5", ",", 
    RowBox[{"IncludeTime", "->", "Omit"}]}], "]"}], 
  "\[IndentingNewLine]"}], "\[IndentingNewLine]", 
 RowBox[{"GetVoltages", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"0", ",", "3"}], "}"}], ",", "50", ",", "5", ",", 
   RowBox[{"IncludeTime", "->", "Omit"}]}], "]"}], "\[IndentingNewLine]", 
 RowBox[{"GetVoltages", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"0", ",", "3"}], "}"}], ",", "50", ",", "1", ",", 
   RowBox[{"IncludeTime", "->", "Omit"}]}], 
  "]"}], "\[IndentingNewLine]"}], "Input",
 CellChangeTimes->{{3.4122961951714544`*^9, 3.4122961954718866`*^9}, {
   3.412296407036101*^9, 3.4122964829652815`*^9}, {3.4122966381784673`*^9, 
   3.4122966824020576`*^9}, {3.412296745753152*^9, 3.412296812248768*^9}, 
   3.4123596443969603`*^9}],

Cell[BoxData[
 RowBox[{"GetVoltages", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"0", ",", "3"}], "}"}], ",", "50", ",", "1", ",", 
   RowBox[{"IncludeTime", "->", "Omit"}], ",", 
   RowBox[{"MessageLevel", " ", "\[Rule]", "1"}]}], "]"}]], "Input",
 CellChangeTimes->{{3.4122970105238733`*^9, 3.412297021579771*^9}}],

Cell[BoxData[
 RowBox[{"GetVoltages", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"0", ",", "3"}], "}"}], ",", "50", ",", "1"}], "]"}]], "Input",
 CellChangeTimes->{{3.4123596580265584`*^9, 3.4123596581467314`*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{"st", "=", 
   RowBox[{"Table", "[", 
    RowBox[{
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        RowBox[{"{", 
         RowBox[{"Sin", "[", "x", "]"}], "}"}], ",", 
        RowBox[{"{", 
         RowBox[{"Cos", "[", "x", "]"}], "}"}]}], "}"}], "//", "N"}], ",", 
     RowBox[{"{", 
      RowBox[{"x", ",", "0", ",", 
       RowBox[{"6", "*", "Pi"}], ",", 
       RowBox[{"2", "*", 
        RowBox[{"Pi", "/", "100"}]}]}], "}"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Table", " ", "[", 
   RowBox[{
    RowBox[{"OutputWaveform", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{"0", ",", "1"}], "}"}], ",", "p", ",", "10", ",", "10"}], 
     "]"}], ",", " ", 
    RowBox[{"{", 
     RowBox[{"p", ",", 
      RowBox[{"Table", "[", 
       RowBox[{
        RowBox[{
         RowBox[{"{", 
          RowBox[{
           RowBox[{"{", 
            RowBox[{"Sin", "[", "x", "]"}], "}"}], ",", 
           RowBox[{"{", 
            RowBox[{"Cos", "[", "x", "]"}], "}"}]}], "}"}], "//", "N"}], ",", 
        
        RowBox[{"{", 
         RowBox[{"x", ",", "0", ",", 
          RowBox[{"6", "*", "Pi"}], ",", 
          RowBox[{"2", "*", 
           RowBox[{"Pi", "/", "100"}]}]}], "}"}]}], "]"}]}], "}"}]}], "]"}], 
  ";"}]}], "Input",
 CellChangeTimes->{{3.4123597331145296`*^9, 3.4123597597428193`*^9}, {
   3.4123597903267965`*^9, 3.4123598241354113`*^9}, {3.412359905242037*^9, 
   3.4123599344540415`*^9}, {3.4123603413791714`*^9, 3.412360415295458*^9}, {
   3.4123605627074256`*^9, 3.412360595784989*^9}, {3.412360670943061*^9, 
   3.4123609091055217`*^9}, 3.4123609427739344`*^9, {3.4123609729973936`*^9, 
   3.4123610829454913`*^9}, {3.4123611312749853`*^9, 
   3.4123611384853535`*^9}, {3.4123612041497746`*^9, 3.412361206993864*^9}, {
   3.4123612883909073`*^9, 3.4123612887313967`*^9}, {3.412361322479925*^9, 
   3.4123614137511663`*^9}, {3.412361454379587*^9, 3.412361509508859*^9}, 
   3.4124298183843856`*^9}],

Cell[BoxData[""], "Input",
 CellChangeTimes->{{3.412359969404298*^9, 3.4123599842155952`*^9}, {
   3.41236004381129*^9, 3.4123601425532737`*^9}, {3.4123602170804386`*^9, 
   3.4123602835159683`*^9}, {3.4123604475818834`*^9, 3.4123604829928017`*^9}, 
   3.4123607241295395`*^9}],

Cell[BoxData[{"answer", "\[IndentingNewLine]", 
 RowBox[{"ListPlot", "[", "answer", "]"}], "\[IndentingNewLine]", 
 RowBox[{"Transpose", "[", "answer", "]"}], "\[IndentingNewLine]", 
 RowBox[{"ListPlot", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "0"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"1", ",", "1"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"2", ",", "4"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"3", ",", "9"}], "}"}]}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "0"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"1", ",", "1"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"2", ",", "1.41"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"3", ",", "1.7"}], "}"}]}], "}"}]}], "}"}], ",", 
   RowBox[{"Joined", " ", "\[Rule]", "True"}]}], "]"}]}], "Input",
 CellChangeTimes->{{3.4124290153797216`*^9, 3.412429052092512*^9}, {
  3.412429284276376*^9, 3.412429293589768*^9}, {3.4124307327792206`*^9, 
  3.4124310160265102`*^9}, {3.412431095100213*^9, 3.4124311041131725`*^9}}],

Cell[BoxData[
 RowBox[{"ListPlot", "[", 
  RowBox[{"Flatten", "[", 
   RowBox[{
    RowBox[{"Take", "[", 
     RowBox[{"answer", ",", "All", ",", "1"}], "]"}], ",", "2"}], "]"}], 
  "]"}]], "Input",
 CellChangeTimes->{{3.4124313879913692`*^9, 3.4124314307628717`*^9}, {
   3.4124315317180386`*^9, 3.412431597182171*^9}, {3.4124316319321394`*^9, 
   3.4124316779583216`*^9}, 3.412431761157957*^9}],

Cell[BoxData[
 RowBox[{"ListPlot", "[", 
  RowBox[{"Flatten", "[", 
   RowBox[{"answer", ",", "2"}], "]"}], "]"}]], "Input",
 CellChangeTimes->{{3.412431809457408*^9, 3.412431813683485*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"?", " ", "Global`*"}], "\[IndentingNewLine]"}]], "Input",
 CellChangeTimes->{{3.4124423253685455`*^9, 3.412442370843936*^9}, {
  3.41244254127901*^9, 3.41244254310163*^9}}]
}, Open  ]],

Cell[BoxData[{
 RowBox[{"GetVoltages", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"0", ",", "1"}], "}"}], ",", "60", ",", "1"}], 
  "]"}], "\[IndentingNewLine]", 
 RowBox[{" ", 
  RowBox[{"GetVoltages", "[", 
   RowBox[{
    RowBox[{"{", 
     RowBox[{"0", ",", "1"}], "}"}], ",", "60", ",", "2"}], 
   "]"}]}], "\[IndentingNewLine]", 
 RowBox[{"GetVoltages", "[", 
  RowBox[{
   RowBox[{"{", "0", "}"}], ",", "60", ",", "1"}], 
  "]"}], "\[IndentingNewLine]", 
 RowBox[{" ", 
  RowBox[{"GetVoltages", "[", 
   RowBox[{
    RowBox[{"{", "0", "}"}], ",", "60", ",", "2"}], 
   "]"}]}], "\[IndentingNewLine]", 
 RowBox[{"GetVoltages", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"0", ",", "1"}], "}"}], ",", "60", ",", "1", ",", 
   RowBox[{"IncludeTime", "->", "Omit"}]}], "]"}], "\[IndentingNewLine]", 
 RowBox[{" ", 
  RowBox[{"GetVoltages", "[", 
   RowBox[{
    RowBox[{"{", 
     RowBox[{"0", ",", "1"}], "}"}], ",", "60", ",", "2", ",", 
    RowBox[{"IncludeTime", "->", "Omit"}]}], "]"}]}], "\[IndentingNewLine]", 
 RowBox[{"GetVoltages", "[", 
  RowBox[{
   RowBox[{"{", "0", "}"}], ",", "60", ",", "1", ",", 
   RowBox[{"IncludeTime", "->", "Omit"}]}], "]"}], "\[IndentingNewLine]", 
 RowBox[{" ", 
  RowBox[{"GetVoltages", "[", 
   RowBox[{
    RowBox[{"{", "0", "}"}], ",", "60", ",", "2", ",", 
    RowBox[{"IncludeTime", "->", "Omit"}]}], 
   "]"}]}], "\[IndentingNewLine]"}], "Input",
 CellChangeTimes->{{3.4124452724061775`*^9, 3.4124453781982994`*^9}, {
  3.41244562127783*^9, 3.4124456622667694`*^9}, {3.4124458147360096`*^9, 
  3.4124458622943954`*^9}, {3.412533244596424*^9, 3.4125332870975375`*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{"OutputWaveform", "[", 
   RowBox[{
    RowBox[{"{", "1", "}"}], ",", 
    RowBox[{"{", ".01", "}"}], ",", "1", ",", "1"}], "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{"ListPlot", "[", 
  RowBox[{
   RowBox[{"GetVoltages", "[", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "3"}], "}"}], ",", "60", ",", "10"}], "]"}], ",", 
   RowBox[{"Joined", "\[Rule]", "True"}]}], "]"}], "\[IndentingNewLine]", 
 RowBox[{"ListPlot", "[", 
  RowBox[{
   RowBox[{"GetVoltages", "[", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "3"}], "}"}], ",", "60", ",", "10", ",", 
     RowBox[{"IncludeTime", "\[Rule]", "Omit"}]}], "]"}], ",", 
   RowBox[{"Joined", "\[Rule]", "True"}]}], "]"}]}], "Input",
 CellChangeTimes->{{3.4124488772897453`*^9, 3.4124489128108225`*^9}, {
  3.4124491018826942`*^9, 3.412449177030752*^9}, {3.412449460338128*^9, 
  3.4124494841123133`*^9}}],

Cell[BoxData[
 RowBox[{"Table", "[", 
  RowBox[{
   RowBox[{"Flatten", "[", "p", "]"}], ",", 
   RowBox[{"{", 
    RowBox[{"p", ",", 
     RowBox[{"Table", "[", 
      RowBox[{
       RowBox[{
        RowBox[{"{", 
         RowBox[{
          RowBox[{"{", 
           RowBox[{"Sin", "[", "x", "]"}], "}"}], ",", 
          RowBox[{"{", 
           RowBox[{"Cos", "[", "x", "]"}], "}"}]}], "}"}], "//", "N"}], ",", 
       RowBox[{"{", 
        RowBox[{"x", ",", "0", ",", 
         RowBox[{
          RowBox[{"4", "/", "100"}], "*", "Pi"}], ",", 
         RowBox[{"2", "*", 
          RowBox[{"Pi", "/", "100"}]}]}], "}"}]}], "]"}]}], "}"}]}], 
  "]"}]], "Input",
 CellChangeTimes->{{3.4127126346284323`*^9, 3.4127126403466544`*^9}, {
  3.4127126872340755`*^9, 3.412712741972786*^9}, {3.412715643324725*^9, 
  3.4127156456981373`*^9}}],

Cell[BoxData[{
 RowBox[{"thWrite0", " ", "=", " ", 
  RowBox[{"OutputWaveform", "[", 
   RowBox[{
    RowBox[{"{", "0", "}"}], ",", 
    RowBox[{"{", "0.0", "}"}], ",", "10", ",", "10", ",", 
    RowBox[{"SetupOnly", "\[Rule]", "True"}], ",", 
    RowBox[{"MessageLevel", "\[Rule]", "0"}]}], 
   "]"}]}], "\[IndentingNewLine]", 
 RowBox[{"thWrite1", " ", "=", " ", 
  RowBox[{"OutputWaveform", "[", 
   RowBox[{
    RowBox[{"{", "1", "}"}], ",", 
    RowBox[{"{", "0.0", "}"}], ",", "10", ",", "10", ",", 
    RowBox[{"SetupOnly", "\[Rule]", "True"}], ",", 
    RowBox[{"MessageLevel", "\[Rule]", "0"}]}], "]"}]}]}], "Input",
 CellChangeTimes->{{3.4127126346284323`*^9, 3.4127126403466544`*^9}, {
  3.4127126872340755`*^9, 3.412712741972786*^9}, {3.412715643324725*^9, 
  3.412715648341939*^9}, {3.4127172130318527`*^9, 3.4127172155454674`*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"RunTask", "[", 
   RowBox[{"thWrite0", ",", "0"}], "]"}], ";"}]], "Input",
 CellChangeTimes->{{3.4127156198710003`*^9, 3.4127156238967886`*^9}, {
  3.4127156798672705`*^9, 3.4127157265143456`*^9}, {3.4127172248087873`*^9, 
  3.4127172250891905`*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"RunTask", "[", 
   RowBox[{"thWrite1", ",", "0"}], "]"}], ";"}]], "Input",
 CellChangeTimes->{
  3.4127156198710003`*^9, {3.4127156575451727`*^9, 3.4127156605995646`*^9}, {
   3.41271571701068*^9, 3.412715729088046*^9}, {3.4127172284840717`*^9, 
   3.412717229695814*^9}}],

Cell[BoxData[{
 RowBox[{"ClearTask", "[", "thWrite0", "]"}], "\[IndentingNewLine]", 
 RowBox[{"ClearTask", "[", "thWrite1", "]"}]}], "Input",
 CellChangeTimes->{
  3.4127156198710003`*^9, {3.4127156575451727`*^9, 3.412715662382128*^9}}],

Cell[BoxData[{
 RowBox[{"thTemp1", " ", "=", " ", 
  RowBox[{"GetVoltages", "[", 
   RowBox[{
    RowBox[{"{", "0", "}"}], ",", "10000.0", ",", "1000", ",", 
    RowBox[{"MessageLevel", "\[Rule]", "0"}], ",", 
    RowBox[{"SetupOnly", "->", "True"}]}], "]"}]}], "\[IndentingNewLine]", 
 RowBox[{"thTemp2", " ", "=", " ", 
  RowBox[{"GetVoltages", "[", 
   RowBox[{
    RowBox[{"{", "1", "}"}], ",", "10000.0", ",", "1000", ",", 
    RowBox[{"MessageLevel", "\[Rule]", "0"}], ",", 
    RowBox[{"SetupOnly", "->", "True"}]}], "]"}]}], "\[IndentingNewLine]", 
 RowBox[{"ClearTask", "[", "thTemp1", "]"}], "\[IndentingNewLine]", 
 RowBox[{"ClearTask", "[", "thTemp2", "]"}]}], "Input",
 CellChangeTimes->{{3.4128056225103054`*^9, 3.4128056672346163`*^9}, {
  3.412805708564045*^9, 3.412805752697506*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{"numPts", "=", "100"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"fout", " ", "=", " ", "1000.0"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Clear", "[", "p1", "]"}], ";", 
  RowBox[{"Clear", "[", "p2", "]"}], ";", 
  RowBox[{"data2", "=", 
   RowBox[{"{", 
    RowBox[{"0", ",", "0"}], "}"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"data", " ", "=", " ", 
   RowBox[{"Transpose", "[", 
    RowBox[{"Table", "[", 
     RowBox[{
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         RowBox[{"Sin", "[", "x", "]"}], ",", 
         RowBox[{"Cos", "[", "x", "]"}]}], "}"}], "//", "N"}], ",", 
      RowBox[{"{", 
       RowBox[{"x", ",", "0", ",", 
        RowBox[{
         RowBox[{"(", 
          RowBox[{"2", "*", " ", "Pi"}], ")"}], "*", 
         RowBox[{"(", 
          RowBox[{"1", "-", 
           RowBox[{"1", "/", "numPts"}]}], ")"}]}], ",", 
        RowBox[{"2", "*", 
         RowBox[{"Pi", "/", "numPts"}]}]}], "}"}]}], "]"}], "]"}]}], 
  ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{"th", " ", "=", " ", 
    RowBox[{"OutputWaveform", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{"0", ",", "1"}], "}"}], ",", "data", ",", " ", "fout", ",", 
      "1", ",", 
      RowBox[{"SampleMode", " ", "\[Rule]", " ", "Continuous"}], ",", 
      RowBox[{"TransferMechanism", " ", "\[Rule]", " ", "Interrupts"}], ",", 
      RowBox[{"MessageLevel", " ", "\[Rule]", "0"}]}], "]"}]}], ";"}], "\n", 
  RowBox[{"(*", " ", 
   RowBox[{
    RowBox[{"data2", " ", "=", " ", 
     RowBox[{"GetVoltages", "[", 
      RowBox[{
       RowBox[{"{", "0", "}"}], ",", "10000.0", ",", "2000", ",", 
       RowBox[{"MessageLevel", "\[Rule]", "0"}], ",", 
       RowBox[{"TransferMechanism", " ", "\[Rule]", " ", "DMA"}]}], "]"}]}], 
    ";"}], " ", "*)"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"data2", " ", "=", " ", 
   RowBox[{"GetVoltagesTrig", "[", 
    RowBox[{
     RowBox[{"{", "0", "}"}], ",", "10000.0", ",", "2000", ",", "0", ",", 
     ".01", ",", 
     RowBox[{"MessageLevel", "\[Rule]", "0"}], ",", 
     RowBox[{"TransferMechanism", " ", "\[Rule]", "DMA"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"p1", " ", "=", " ", 
   RowBox[{"ListPlot", "[", "data2", "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"p2", " ", "=", 
   RowBox[{"ListPlot", "[", 
    RowBox[{
     RowBox[{"Table", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         RowBox[{"i", "/", "fout"}], ",", 
         RowBox[{
          RowBox[{"data", "[", 
           RowBox[{"[", "1", "]"}], "]"}], "[", 
          RowBox[{"[", "i", "]"}], "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"i", ",", "1", ",", 
         RowBox[{"numPts", "-", "1"}]}], "}"}]}], "]"}], ",", 
     RowBox[{"Joined", "\[Rule]", "True"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"ClearTask", "[", "th", "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{"Show", "[", 
  RowBox[{"p1", ",", "p2"}], "]"}]}], "Input",
 CellChangeTimes->{{3.414506799397704*^9, 3.414506800128755*^9}, {
   3.4145068378730288`*^9, 3.4145068876646256`*^9}, {3.4145069495536175`*^9, 
   3.414507027916298*^9}, {3.4145071286211042`*^9, 3.414507133448045*^9}, {
   3.4145071735957747`*^9, 3.4145072054415665`*^9}, {3.414507236816682*^9, 
   3.4145072656581535`*^9}, {3.414507319175107*^9, 3.414507368586157*^9}, {
   3.414507688105603*^9, 3.414507722585182*^9}, {3.4145077586470366`*^9, 
   3.4145077763725247`*^9}, {3.4145078499383073`*^9, 
   3.4145078524218783`*^9}, {3.4145079016726975`*^9, 3.414507944454214*^9}, {
   3.414508064416712*^9, 3.414508176107315*^9}, {3.414508207973136*^9, 
   3.414508416272656*^9}, {3.414508470580747*^9, 3.414508485241829*^9}, {
   3.414508547110792*^9, 3.414508654585333*^9}, {3.414508706059349*^9, 
   3.4145087062696514`*^9}, {3.414508750933875*^9, 3.4145088117913837`*^9}, 
   3.414508846441208*^9}],

Cell[CellGroupData[{

Cell["Tally the Tests and Exit", "Subtitle",
 InitializationCell->True,
 CellChangeTimes->{{3.422119893809637*^9, 3.422119953024784*^9}, {
  3.4221199889364223`*^9, 3.4221200131412272`*^9}, {3.4221200756911697`*^9, 
  3.42212007935644*^9}}],

Cell["Exit will quit kernel", "Text",
 InitializationCell->True,
 CellChangeTimes->{{3.422119893809637*^9, 3.422119953024784*^9}, {
  3.4221199889364223`*^9, 3.4221200131412272`*^9}, {3.4221200756911697`*^9, 
  3.422120113805976*^9}}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"LogTest`TallyTests", "[", "]"}]], "Input",
 InitializationCell->True,
 CellChangeTimes->{{3.422119893809637*^9, 3.422119953024784*^9}, 
   3.4221199889364223`*^9, 3.4221200454677105`*^9, {3.4222368190239134`*^9, 
   3.4222368203658433`*^9}}],

Cell[BoxData["\<\"Success!\\n11 total tests 11 tests passed 0 tests \
failed\"\>"], "Output",
 CellChangeTimes->{3.4409525760030174`*^9, 3.440952991410344*^9}]
}, Open  ]]
}, Open  ]]
},
AutoGeneratedPackage->Automatic,
CellGrouping->Manual,
WindowSize->{990, 807},
WindowMargins->{{0, Automatic}, {Automatic, 13}},
PrintingCopies->1,
PrintingPageRange->{Automatic, Automatic},
ShowSelection->True,
FrontEndVersion->"6.0 for Microsoft Windows (32-bit) (March 13, 2008)",
StyleDefinitions->"Default.nb"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{}
*)
(*CellTagsIndex
CellTagsIndex->{}
*)
(*NotebookFileOutline
Notebook[{
Cell[CellGroupData[{
Cell[590, 23, 376, 6, 49, "Subtitle",
 InitializationCell->True],
Cell[969, 31, 791, 13, 65, "Text",
 InitializationCell->True],
Cell[CellGroupData[{
Cell[1785, 48, 1450, 32, 92, "Input",
 InitializationCell->True],
Cell[3238, 82, 158, 2, 30, "Output"],
Cell[3399, 86, 182, 2, 30, "Output"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[3630, 94, 326, 5, 49, "Subtitle",
 InitializationCell->True],
Cell[3959, 101, 582, 10, 47, "Text",
 InitializationCell->True],
Cell[CellGroupData[{
Cell[4566, 115, 5915, 130, 912, "Input",
 InitializationCell->True],
Cell[10484, 247, 117, 1, 70, "Print"],
Cell[10604, 250, 170, 3, 70, "Output"],
Cell[10777, 255, 545, 9, 70, "Output"]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[11371, 270, 170, 2, 49, "Subtitle"],
Cell[11544, 274, 709, 12, 83, "Text"],
Cell[12256, 288, 612, 10, 92, "Input"],
Cell[12871, 300, 690, 15, 72, "Input"]
}, Closed]],
Cell[CellGroupData[{
Cell[13598, 320, 151, 2, 49, "Subtitle",
 InitializationCell->True],
Cell[13752, 324, 616, 11, 65, "Text",
 InitializationCell->True],
Cell[CellGroupData[{
Cell[14393, 339, 2730, 59, 212, "Input",
 InitializationCell->True],
Cell[17126, 400, 159, 2, 70, "Output"],
Cell[17288, 404, 135, 1, 70, "Print"],
Cell[17426, 407, 161, 2, 70, "Print"],
Cell[17590, 411, 203, 4, 70, "Output"],
Cell[17796, 417, 498, 9, 70, "Print"]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[18343, 432, 203, 3, 49, "Subtitle"],
Cell[18549, 437, 209, 3, 29, "Text"],
Cell[CellGroupData[{
Cell[18783, 444, 1231, 21, 232, "Input"],
Cell[20017, 467, 784, 11, 31, "Input"]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[20850, 484, 921, 12, 49, "Subtitle"],
Cell[21774, 498, 1205, 20, 31, "Input"]
}, Closed]],
Cell[CellGroupData[{
Cell[23016, 523, 1000, 14, 49, "Subtitle",
 InitializationCell->True],
Cell[24019, 539, 1042, 16, 29, "Text",
 InitializationCell->True],
Cell[CellGroupData[{
Cell[25086, 559, 1063, 14, 28, "Subsubtitle",
 InitializationCell->True],
Cell[26152, 575, 1229, 19, 65, "Text",
 InitializationCell->True],
Cell[CellGroupData[{
Cell[27406, 598, 3997, 92, 272, "Input",
 InitializationCell->True],
Cell[31406, 692, 368, 7, 70, "Print"],
Cell[31777, 701, 518, 12, 70, "Print"],
Cell[32298, 715, 372, 7, 70, "Print"],
Cell[32673, 724, 518, 12, 70, "Print"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[33240, 742, 1196, 16, 28, "Subsubtitle",
 InitializationCell->True],
Cell[34439, 760, 1249, 19, 29, "Text",
 InitializationCell->True],
Cell[CellGroupData[{
Cell[35713, 783, 3986, 91, 172, "Input",
 InitializationCell->True],
Cell[39702, 876, 552, 10, 70, "Print"],
Cell[40257, 888, 521, 12, 70, "Print"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[40827, 906, 1333, 20, 28, "Subsubtitle",
 InitializationCell->True],
Cell[42163, 928, 1800, 26, 29, "Text",
 InitializationCell->True],
Cell[CellGroupData[{
Cell[43988, 958, 5462, 124, 152, "Input",
 InitializationCell->True],
Cell[49453, 1084, 3981, 71, 70, "Output"],
Cell[53437, 1157, 94, 1, 70, "Output"],
Cell[53534, 1160, 629, 16, 70, "Print"]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[54212, 1182, 2283, 32, 28, "Subsubtitle",
 InitializationCell->True],
Cell[56498, 1216, 2662, 37, 65, "Text",
 InitializationCell->True],
Cell[CellGroupData[{
Cell[59185, 1257, 4043, 76, 172, "Input",
 InitializationCell->True],
Cell[63231, 1335, 370, 7, 70, "Print"],
Cell[63604, 1344, 591, 14, 70, "Print"]
}, Open  ]],
Cell[CellGroupData[{
Cell[64232, 1363, 5038, 109, 212, "Input",
 InitializationCell->True],
Cell[69273, 1474, 574, 11, 70, "Print"],
Cell[69850, 1487, 544, 12, 70, "Print"]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[70443, 1505, 2564, 35, 28, "Subsubtitle",
 InitializationCell->True],
Cell[73010, 1542, 3215, 57, 72, "Input",
 InitializationCell->True],
Cell[76228, 1601, 3829, 71, 92, "Input",
 InitializationCell->True],
Cell[CellGroupData[{
Cell[80082, 1676, 6373, 135, 252, "Input",
 InitializationCell->True],
Cell[86458, 1813, 7036, 120, 70, "Output"],
Cell[93497, 1935, 96, 1, 70, "Output"],
Cell[93596, 1938, 679, 16, 70, "Print"]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[94324, 1960, 305, 6, 28, "Subsubtitle",
 InitializationCell->True],
Cell[CellGroupData[{
Cell[94654, 1970, 6591, 130, 292, "Input",
 InitializationCell->True],
Cell[101248, 2102, 192, 4, 70, "Output"],
Cell[101443, 2108, 561, 14, 70, "Print"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[102065, 2129, 2210, 29, 49, "Subtitle",
 InitializationCell->True],
Cell[104278, 2160, 2366, 35, 29, "Text",
 InitializationCell->True],
Cell[CellGroupData[{
Cell[106669, 2199, 6784, 141, 312, "Input",
 InitializationCell->True],
Cell[113456, 2342, 115, 1, 70, "Output"],
Cell[113574, 2345, 178, 4, 70, "Output"],
Cell[113755, 2351, 115, 1, 70, "Output"],
Cell[113873, 2354, 222, 5, 70, "Output"],
Cell[114098, 2361, 339, 6, 70, "Print"],
Cell[114440, 2369, 350, 7, 70, "Print"],
Cell[114793, 2378, 581, 14, 70, "Print"]
}, Open  ]]
}, Closed]],
Cell[115401, 2396, 310, 4, 49, "Subtitle"],
Cell[115714, 2402, 620, 14, 55, "Text"],
Cell[116337, 2418, 947, 13, 28, "Subsubtitle",
 InitializationCell->True],
Cell[CellGroupData[{
Cell[117309, 2435, 6912, 174, 492, "Input",
 InitializationCell->True],
Cell[124224, 2611, 138, 1, 23, "Print"],
Cell[124365, 2614, 4478, 79, 232, "Output"],
Cell[128846, 2695, 94, 1, 30, "Output"],
Cell[128943, 2698, 13457, 226, 228, "Output"],
Cell[142403, 2926, 114, 1, 30, "Output"],
Cell[142520, 2929, 486, 9, 23, "Print"]
}, Open  ]],
Cell[143021, 2941, 2151, 48, 112, "Input"],
Cell[145175, 2991, 1385, 26, 72, "Input"],
Cell[146563, 3019, 170, 2, 31, "Input"],
Cell[146736, 3023, 1857, 44, 92, "Input"],
Cell[148596, 3069, 388, 5, 31, "Input"],
Cell[CellGroupData[{
Cell[149009, 3078, 2607, 56, 112, "Input"],
Cell[151619, 3136, 704, 10, 52, "Input"]
}, Open  ]],
Cell[CellGroupData[{
Cell[152360, 3151, 114, 1, 49, "Subtitle"],
Cell[152477, 3154, 881, 22, 72, "Input"]
}, Open  ]],
Cell[CellGroupData[{
Cell[153395, 3181, 237, 4, 49, "Subtitle"],
Cell[153635, 3187, 568, 15, 52, "Input"],
Cell[154206, 3204, 1224, 29, 152, "Input"],
Cell[155433, 3235, 319, 7, 31, "Input"],
Cell[155755, 3244, 217, 5, 31, "Input"],
Cell[155975, 3251, 1997, 53, 52, "Input"],
Cell[157975, 3306, 277, 4, 31, "Input"],
Cell[158255, 3312, 1171, 30, 92, "Input"],
Cell[159429, 3344, 396, 9, 31, "Input"],
Cell[159828, 3355, 190, 4, 31, "Input"],
Cell[160021, 3361, 207, 4, 52, "Input"]
}, Open  ]],
Cell[160243, 3368, 1623, 44, 192, "Input"],
Cell[161869, 3414, 917, 24, 72, "Input"],
Cell[162789, 3440, 835, 24, 31, "Input"],
Cell[163627, 3466, 845, 18, 52, "Input"],
Cell[164475, 3486, 285, 6, 31, "Input"],
Cell[164763, 3494, 307, 7, 31, "Input"],
Cell[165073, 3503, 236, 4, 52, "Input"],
Cell[165312, 3509, 800, 16, 92, "Input"],
Cell[166115, 3527, 3937, 98, 232, "Input"],
Cell[CellGroupData[{
Cell[170077, 3629, 240, 4, 49, "Subtitle",
 InitializationCell->True],
Cell[170320, 3635, 234, 4, 29, "Text",
 InitializationCell->True],
Cell[CellGroupData[{
Cell[170579, 3643, 265, 5, 31, "Input",
 InitializationCell->True],
Cell[170847, 3650, 159, 2, 50, "Output"]
}, Open  ]]
}, Open  ]]
}
]
*)

(* End of internal cache information *)
